Setting with value is missing units assuming default units but in future versions this will be a hard error – How to solve this Elasticsearch error

Opster Team

Aug-23, Version: 2.3-2.3

Briefly, this error occurs when Elasticsearch settings are defined without specifying units. Elasticsearch assumes default units, but future versions will treat this as a hard error. To resolve this, always specify units when defining settings. For example, instead of “timeout: 5”, use “timeout: 5s” for seconds. This ensures clarity and avoids potential errors in future versions.

This guide will help you check for common problems that cause the log ” {} setting [{}] with value [{}] is missing units; assuming default units ({}) but in future versions this will be a hard error ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: cluster and metadata.

Log Context

Log “{} setting [{}] with value [{}] is missing units; assuming default units ({}) but in future versions this will be a hard error” classname is MetaData.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

Long.parseLong(settingValue);
        } catch (NumberFormatException e) {
            return settingValue;
        }
        // It's a naked number that previously would be interpreted as default unit; now we add it:
        logger.warn("{} setting [{}] with value [{}] is missing units; assuming default units ({}) but in future versions this will be a hard error";
                unitName; settingName; settingValue; unit);
        return settingValue + unit;
    }

    /** As of 2.0 we require units for time and byte-sized settings. This methods adds default units to any

 

 [ratemypost]