We are trying to upgrade our Elasticsearch from 5.6 to 6.8.1. We first migrated our ES cluster from 5.6 to 6.8.1 and when we are trying to create new index from curl command we alway get error saying Failed to parse value [1] as only [true] or [false] are allowed."}] Error when upgrade from 5.6 to 6.8
Even with a very simple index without any mapping. curl -X PUT "localhost:9200/test/?pretty=true" -H 'Content-Type: application/json'
We try both with ?pretty=true and without ?pretty=true both get same error.
Do we miss anything from settings or should we add any parameters to the curl command?
It looks like you're relying on the lenient parsing of booleans that was deprecated in 5.3 (#22716), and removed in version 6 (#22200). You should have seen deprecation warnings about this usage before you upgraded.
Since this is happening at index creation time I suspect it's due to something in one of your index templates. Check these carefully for a 1 where Elasticsearch is now expecting a true or a false.
Thank you David!
So is there any log or any place where we can quickly navigate what is the field name or which index? Since we have so many index....
Or is there a way where we can specify not to apply any template when create an index?
It should be in the deprecation log from before your upgrade. It might be in the server logs now too, I'm not sure. But note that I think the problem is in a template, not an index, and there should be fewer templates to look at.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.