Change default filter cache to 10% and circuit breaker to 60%
The defaults we have today in our data intensive memory structures don't properly add up to properly protected from potential OOM. The circuit breaker, today at 80%, aims at protecting from extensive field data loading. The default threshold today is too permissive and can still cause OOMs. The filter cache today is at 20%, and its too high when adding it to other limits we have, reduce it to 10%, which is still a big enough portion of the heap, yet provides improved safety measure. closes #5990
This commit is contained in:
parent
01eb01cb70
commit
c9f1792c81
|
@ -95,7 +95,7 @@ public class IndicesFilterCache extends AbstractComponent implements RemovalList
|
|||
super(settings);
|
||||
this.threadPool = threadPool;
|
||||
this.cacheRecycler = cacheRecycler;
|
||||
this.size = componentSettings.get("size", "20%");
|
||||
this.size = componentSettings.get("size", "10%");
|
||||
this.expire = componentSettings.getAsTime("expire", null);
|
||||
this.cleanInterval = componentSettings.getAsTime("clean_interval", TimeValue.timeValueSeconds(60));
|
||||
computeSizeInBytes();
|
||||
|
|
|
@ -38,7 +38,7 @@ public class InternalCircuitBreakerService extends AbstractLifecycleComponent<In
|
|||
public static final String CIRCUIT_BREAKER_OVERHEAD_SETTING = "indices.fielddata.breaker.overhead";
|
||||
|
||||
public static final double DEFAULT_OVERHEAD_CONSTANT = 1.03;
|
||||
private static final String DEFAULT_BREAKER_LIMIT = "80%";
|
||||
private static final String DEFAULT_BREAKER_LIMIT = "60%";
|
||||
|
||||
private volatile MemoryCircuitBreaker breaker;
|
||||
private volatile long maxBytes;
|
||||
|
|
Loading…
Reference in New Issue