|
@@ -46,19 +46,35 @@ import java.util.function.Consumer;
|
|
|
import java.util.function.LongSupplier;
|
|
|
import java.util.function.Predicate;
|
|
|
|
|
|
-import static org.elasticsearch.snapshots.SnapshotsService.SHARED_CACHE_RANGE_SIZE_SETTING;
|
|
|
-import static org.elasticsearch.snapshots.SnapshotsService.SHARED_CACHE_SETTINGS_PREFIX;
|
|
|
-import static org.elasticsearch.snapshots.SnapshotsService.SNAPSHOT_CACHE_REGION_SIZE_SETTING;
|
|
|
-import static org.elasticsearch.snapshots.SnapshotsService.SNAPSHOT_CACHE_SIZE_SETTING;
|
|
|
import static org.elasticsearch.xpack.searchablesnapshots.SearchableSnapshotsUtils.toIntBytes;
|
|
|
|
|
|
public class FrozenCacheService implements Releasable {
|
|
|
|
|
|
+ private static final String SETTINGS_PREFIX = "xpack.searchable.snapshot.shared_cache.";
|
|
|
+
|
|
|
+ public static final Setting<ByteSizeValue> SNAPSHOT_CACHE_SIZE_SETTING = Setting.byteSizeSetting(
|
|
|
+ SETTINGS_PREFIX + "size",
|
|
|
+ ByteSizeValue.ZERO,
|
|
|
+ Setting.Property.NodeScope
|
|
|
+ );
|
|
|
+
|
|
|
public static final ByteSizeValue MIN_SNAPSHOT_CACHE_RANGE_SIZE = new ByteSizeValue(4, ByteSizeUnit.KB);
|
|
|
public static final ByteSizeValue MAX_SNAPSHOT_CACHE_RANGE_SIZE = new ByteSizeValue(Integer.MAX_VALUE, ByteSizeUnit.BYTES);
|
|
|
|
|
|
+ public static final Setting<ByteSizeValue> FROZEN_CACHE_RANGE_SIZE_SETTING = Setting.byteSizeSetting(
|
|
|
+ SETTINGS_PREFIX + "range_size",
|
|
|
+ ByteSizeValue.ofMb(16), // default
|
|
|
+ Setting.Property.NodeScope
|
|
|
+ );
|
|
|
+
|
|
|
+ public static final Setting<ByteSizeValue> SNAPSHOT_CACHE_REGION_SIZE_SETTING = Setting.byteSizeSetting(
|
|
|
+ SETTINGS_PREFIX + "region_size",
|
|
|
+ FROZEN_CACHE_RANGE_SIZE_SETTING,
|
|
|
+ Setting.Property.NodeScope
|
|
|
+ );
|
|
|
+
|
|
|
public static final Setting<ByteSizeValue> FROZEN_CACHE_RECOVERY_RANGE_SIZE_SETTING = Setting.byteSizeSetting(
|
|
|
- SHARED_CACHE_SETTINGS_PREFIX + "recovery_range_size",
|
|
|
+ SETTINGS_PREFIX + "recovery_range_size",
|
|
|
new ByteSizeValue(128, ByteSizeUnit.KB), // default
|
|
|
MIN_SNAPSHOT_CACHE_RANGE_SIZE, // min
|
|
|
MAX_SNAPSHOT_CACHE_RANGE_SIZE, // max
|
|
@@ -67,7 +83,7 @@ public class FrozenCacheService implements Releasable {
|
|
|
|
|
|
public static final TimeValue MIN_SNAPSHOT_CACHE_DECAY_INTERVAL = TimeValue.timeValueSeconds(1L);
|
|
|
public static final Setting<TimeValue> SNAPSHOT_CACHE_DECAY_INTERVAL_SETTING = Setting.timeSetting(
|
|
|
- SHARED_CACHE_SETTINGS_PREFIX + "decay.interval",
|
|
|
+ SETTINGS_PREFIX + "decay.interval",
|
|
|
TimeValue.timeValueSeconds(60L), // default
|
|
|
MIN_SNAPSHOT_CACHE_DECAY_INTERVAL, // min
|
|
|
Setting.Property.NodeScope,
|
|
@@ -75,14 +91,14 @@ public class FrozenCacheService implements Releasable {
|
|
|
);
|
|
|
|
|
|
public static final Setting<Integer> SNAPSHOT_CACHE_MAX_FREQ_SETTING = Setting.intSetting(
|
|
|
- SHARED_CACHE_SETTINGS_PREFIX + "max_freq",
|
|
|
+ SETTINGS_PREFIX + "max_freq",
|
|
|
100, // default
|
|
|
1, // min
|
|
|
Setting.Property.NodeScope
|
|
|
);
|
|
|
|
|
|
public static final Setting<TimeValue> SNAPSHOT_CACHE_MIN_TIME_DELTA_SETTING = Setting.timeSetting(
|
|
|
- SHARED_CACHE_SETTINGS_PREFIX + "min_time_delta",
|
|
|
+ SETTINGS_PREFIX + "min_time_delta",
|
|
|
TimeValue.timeValueSeconds(60L), // default
|
|
|
TimeValue.timeValueSeconds(0L), // min
|
|
|
Setting.Property.NodeScope
|
|
@@ -141,7 +157,7 @@ public class FrozenCacheService implements Releasable {
|
|
|
}
|
|
|
decayTask = new CacheDecayTask(threadPool, SNAPSHOT_CACHE_DECAY_INTERVAL_SETTING.get(settings));
|
|
|
decayTask.rescheduleIfNecessary();
|
|
|
- this.rangeSize = SHARED_CACHE_RANGE_SIZE_SETTING.get(settings);
|
|
|
+ this.rangeSize = FROZEN_CACHE_RANGE_SIZE_SETTING.get(settings);
|
|
|
this.recoveryRangeSize = FROZEN_CACHE_RECOVERY_RANGE_SIZE_SETTING.get(settings);
|
|
|
}
|
|
|
|