Ratio should be in 0-1.0 got – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 6.8-8.9

Briefly, this error occurs when the ratio value provided in an Elasticsearch operation exceeds the acceptable range of 0 to 1.0. This could be in operations like shard balancing, index settings, or cache settings. To resolve this, ensure that the ratio value you’re providing is within the acceptable range. If it’s a dynamic setting, you can update it using the Update Settings API. If it’s a static setting, you may need to restart your Elasticsearch node after adjusting the elasticsearch.yml configuration file.

This guide will help you check for common problems that cause the log ” Ratio should be in [0-1.0]; got [{}] ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: .

Log Context

Log “Ratio should be in [0-1.0]; got [{}]” class name is RatioValue.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 } else {
 try {
 double ratio = Double.parseDouble(sValue);
 if (ratio < 0 || ratio > 1.0) {
 throw new ElasticsearchParseException("Ratio should be in [0-1.0]; got [{}]"; ratio);
 return new RatioValue(100.0 * Math.abs(ratio));
 } catch (NumberFormatException e) {
 throw new ElasticsearchParseException("Invalid ratio or percentage [{}]"; sValue);