Increase the maximum number of filters that may be in the cache. (#30655)

We added this limit because we occasionally saw cases where most of the memory
usage of the cache was spent on the keys (ie. queries) rather than the values,
which caused the cache to vastly underestimate its memory usage. In recent
releases, we disabled caching on heavy `terms` queries, which were the main
source of the problem, so putting more entries in the cache should be safer.
This commit is contained in:
Adrien Grand 2018-05-22 14:57:02 +02:00 committed by GitHub
parent 25959ed8cf
commit 54740cc551
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 1 deletions

View File

@ -52,8 +52,10 @@ public class IndicesQueryCache extends AbstractComponent implements QueryCache,
public static final Setting<ByteSizeValue> INDICES_CACHE_QUERY_SIZE_SETTING =
Setting.memorySizeSetting("indices.queries.cache.size", "10%", Property.NodeScope);
// mostly a way to prevent queries from being the main source of memory usage
// of the cache
public static final Setting<Integer> INDICES_CACHE_QUERY_COUNT_SETTING =
Setting.intSetting("indices.queries.cache.count", 1000, 1, Property.NodeScope);
Setting.intSetting("indices.queries.cache.count", 10_000, 1, Property.NodeScope);
// enables caching on all segments instead of only the larger ones, for testing only
public static final Setting<Boolean> INDICES_QUERIES_CACHE_ALL_SEGMENTS_SETTING =
Setting.boolSetting("indices.queries.cache.all_segments", false, Property.NodeScope);