package com.jivesoftware.os.amza.lab.pointers; import org.merlin.config.Config; import org.merlin.config.defaults.BooleanDefault; import org.merlin.config.defaults.DoubleDefault; import org.merlin.config.defaults.IntDefault; import org.merlin.config.defaults.LongDefault; import org.merlin.config.defaults.StringDefault; public interface LABPointerIndexConfig extends Config { @IntDefault(4) int getMinMergeDebt(); @IntDefault(16) int getMaxMergeDebt(); @IntDefault(4096) int getEntriesBetweenLeaps(); @LongDefault(-1) long getSplitWhenKeysTotalExceedsNBytes(); @LongDefault(-1) long getSplitWhenValuesTotalExceedsNBytes(); @LongDefault(10 * 1024 * 1024) long getSplitWhenValuesAndKeysTotalExceedsNBytes(); @IntDefault(24) int getConcurrency(); @LongDefault(1_000_000) long getLeapCacheMaxCapacity(); void setLeapCacheMaxCapacity(long leapCacheMaxCapacity); @LongDefault(60_000) long getLeapCacheCleanupIntervalInMillis(); @StringDefault("amza") String getHeapPressureName(); @LongDefault(1024 * 1024 * 1024 * 2L) long getGlobalBlockOnHeapPressureInBytes(); @LongDefault(1024 * 1024 * 1024) long getGlobalMaxHeapPressureInBytes(); @LongDefault(1024 * 1024) long getMaxHeapPressureInBytes(); @LongDefault(1024 * 1024 * 10) long getMaxWALSizeInBytes(); @LongDefault(100_000) long getMaxEntriesPerWAL(); @LongDefault(1024 * 1024 * 1024) long getMaxEntrySizeInBytes(); @LongDefault(1024 * 1024 * 1024) long getMaxWALOnOpenHeapPressureOverride(); @DoubleDefault(0d) double getHashIndexLoadFactor(); @StringDefault("cuckoo") String getHashIndexType(); @BooleanDefault(true) boolean getHashIndexEnabled(); }