Updated breaker settings fielddata – How to solve this Elasticsearch error

Opster Team

Aug-23, Version: 2.3-2.3

Briefly, this error occurs when there’s an attempt to modify the “fielddata” circuit breaker settings in Elasticsearch. Fielddata is an in-memory data structure used for text fields for sorting and aggregations, which can consume significant heap space. If not managed properly, it can cause out of memory errors. To resolve this, you can limit the fielddata size by adjusting the “indices.breaker.fielddata.limit” setting. Alternatively, you can disable the usage of fielddata on text fields by setting “fielddata: false” in the mapping and use doc_values instead for sorting and aggregations.

This guide will help you check for common problems that cause the log ” Updated breaker settings fielddata: {} ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: breaker, circuit, indices and settings.

Log Context

Log “Updated breaker settings fielddata: {}” classname is HierarchyCircuitBreakerService.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 
                BreakerSettings newFielddataSettings = new BreakerSettings(CircuitBreaker.FIELDDATA; newFielddataLimitBytes; newFielddataOverhead;
                        HierarchyCircuitBreakerService.this.fielddataSettings.getType());
                registerBreaker(newFielddataSettings);
                HierarchyCircuitBreakerService.this.fielddataSettings = newFielddataSettings;
                logger.info("Updated breaker settings fielddata: {}"; newFielddataSettings);
            }

            // Request settings
            ByteSizeValue newRequestMax = settings.getAsMemory(REQUEST_CIRCUIT_BREAKER_LIMIT_SETTING; null);
            Double newRequestOverhead = settings.getAsDouble(REQUEST_CIRCUIT_BREAKER_OVERHEAD_SETTING; null);




 

How helpful was this guide?

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?