Opster Team
Before you begin reading this guide, we recommend you try running the Elasticsearch Error Check-Up which analyzes 2 JSON files to detect many configuration errors.
To easily locate the root cause and resolve this issue try AutoOps for Elasticsearch & OpenSearch. It diagnoses problems by analyzing hundreds of metrics collected by a lightweight agent and offers guidance for resolving them.
This guide will help you check for common problems that cause the log ” expected START_OBJECT as the token but was ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: .

Log Context
Log “expected START_OBJECT as the token but was”classname is IndicesOptions.java We extracted the following from Elasticsearch source code for those seeking an in-depth context :
Boolean ignoreUnavailable = defaults == null ? null : defaults.ignoreUnavailable(); boolean ignoreThrottled = defaults == null ? false : defaults.ignoreThrottled(); Token token = parser.currentToken() == Token.START_OBJECT ? parser.currentToken() : parser.nextToken(); String currentFieldName = null; if (token != Token.START_OBJECT) { throw new ElasticsearchParseException("expected START_OBJECT as the token but was " + token); } while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) { if (token == XContentParser.Token.FIELD_NAME) { currentFieldName = parser.currentName(); } else if (token == Token.START_ARRAY) {
Find & fix Elasticsearch problems
Opster AutoOps diagnoses & fixes issues in Elasticsearch based on analyzing hundreds of metrics.
Fix Your Cluster IssuesConnect in under 2 minutes
Arpit Ghiya
Senior Lead SRE at Coupa