Script cache expiration setting
This commit converts the script cache expiration setting "script.cache.expire" to the new settings infrastructure.
This commit is contained in:
parent
f8cb1912af
commit
eb6aaefae5
|
@ -86,7 +86,7 @@ public class ScriptService extends AbstractComponent implements Closeable {
|
||||||
|
|
||||||
public static final String DEFAULT_SCRIPTING_LANGUAGE_SETTING = "script.default_lang";
|
public static final String DEFAULT_SCRIPTING_LANGUAGE_SETTING = "script.default_lang";
|
||||||
public static final Setting<Integer> SCRIPT_CACHE_SIZE_SETTING = Setting.intSetting("script.cache.max_size", 100, 0, false, Setting.Scope.CLUSTER);
|
public static final Setting<Integer> SCRIPT_CACHE_SIZE_SETTING = Setting.intSetting("script.cache.max_size", 100, 0, false, Setting.Scope.CLUSTER);
|
||||||
public static final String SCRIPT_CACHE_EXPIRE_SETTING = "script.cache.expire";
|
public static final Setting<TimeValue> SCRIPT_CACHE_EXPIRE_SETTING = Setting.positiveTimeSetting("script.cache.expire", TimeValue.timeValueMillis(0), false, Setting.Scope.CLUSTER);
|
||||||
public static final String SCRIPT_INDEX = ".scripts";
|
public static final String SCRIPT_INDEX = ".scripts";
|
||||||
public static final String DEFAULT_LANG = "groovy";
|
public static final String DEFAULT_LANG = "groovy";
|
||||||
public static final String SCRIPT_AUTO_RELOAD_ENABLED_SETTING = "script.auto_reload_enabled";
|
public static final String SCRIPT_AUTO_RELOAD_ENABLED_SETTING = "script.auto_reload_enabled";
|
||||||
|
@ -149,8 +149,6 @@ public class ScriptService extends AbstractComponent implements Closeable {
|
||||||
this.scriptEngines = scriptEngines;
|
this.scriptEngines = scriptEngines;
|
||||||
this.scriptContextRegistry = scriptContextRegistry;
|
this.scriptContextRegistry = scriptContextRegistry;
|
||||||
int cacheMaxSize = SCRIPT_CACHE_SIZE_SETTING.get(settings);
|
int cacheMaxSize = SCRIPT_CACHE_SIZE_SETTING.get(settings);
|
||||||
TimeValue cacheExpire = settings.getAsTime(SCRIPT_CACHE_EXPIRE_SETTING, null);
|
|
||||||
logger.debug("using script cache with max_size [{}], expire [{}]", cacheMaxSize, cacheExpire);
|
|
||||||
|
|
||||||
this.defaultLang = settings.get(DEFAULT_SCRIPTING_LANGUAGE_SETTING, DEFAULT_LANG);
|
this.defaultLang = settings.get(DEFAULT_SCRIPTING_LANGUAGE_SETTING, DEFAULT_LANG);
|
||||||
|
|
||||||
|
@ -158,9 +156,13 @@ public class ScriptService extends AbstractComponent implements Closeable {
|
||||||
if (cacheMaxSize >= 0) {
|
if (cacheMaxSize >= 0) {
|
||||||
cacheBuilder.setMaximumWeight(cacheMaxSize);
|
cacheBuilder.setMaximumWeight(cacheMaxSize);
|
||||||
}
|
}
|
||||||
if (cacheExpire != null) {
|
|
||||||
|
TimeValue cacheExpire = SCRIPT_CACHE_EXPIRE_SETTING.get(settings);
|
||||||
|
if (cacheExpire.getNanos() != 0) {
|
||||||
cacheBuilder.setExpireAfterAccess(cacheExpire.nanos());
|
cacheBuilder.setExpireAfterAccess(cacheExpire.nanos());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
logger.debug("using script cache with max_size [{}], expire [{}]", cacheMaxSize, cacheExpire);
|
||||||
this.cache = cacheBuilder.removalListener(new ScriptCacheRemovalListener()).build();
|
this.cache = cacheBuilder.removalListener(new ScriptCacheRemovalListener()).build();
|
||||||
|
|
||||||
Map<String, ScriptEngineService> enginesByLangBuilder = new HashMap<>();
|
Map<String, ScriptEngineService> enginesByLangBuilder = new HashMap<>();
|
||||||
|
|
|
@ -450,7 +450,7 @@ public final class InternalTestCluster extends TestCluster {
|
||||||
builder.put(ScriptService.SCRIPT_CACHE_SIZE_SETTING.getKey(), RandomInts.randomIntBetween(random, 0, 2000));
|
builder.put(ScriptService.SCRIPT_CACHE_SIZE_SETTING.getKey(), RandomInts.randomIntBetween(random, 0, 2000));
|
||||||
}
|
}
|
||||||
if (random.nextBoolean()) {
|
if (random.nextBoolean()) {
|
||||||
builder.put(ScriptService.SCRIPT_CACHE_EXPIRE_SETTING, TimeValue.timeValueMillis(RandomInts.randomIntBetween(random, 750, 10000000)));
|
builder.put(ScriptService.SCRIPT_CACHE_EXPIRE_SETTING.getKey(), TimeValue.timeValueMillis(RandomInts.randomIntBetween(random, 750, 10000000)));
|
||||||
}
|
}
|
||||||
|
|
||||||
// always default delayed allocation to 0 to make sure we have tests are not delayed
|
// always default delayed allocation to 0 to make sure we have tests are not delayed
|
||||||
|
|
Loading…
Reference in New Issue