Skip to content

Commit

Permalink
Change default filter cache to 10% and circuit breaker to 60%
Browse files Browse the repository at this point in the history
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
  • Loading branch information
kimchy committed May 4, 2014
1 parent 01eb01c commit c9f1792
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
Expand Up @@ -95,7 +95,7 @@ public IndicesFilterCache(Settings settings, ThreadPool threadPool, CacheRecycle
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();
Expand Down
Expand Up @@ -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;
Expand Down

0 comments on commit c9f1792

Please sign in to comment.