How To Solve Issues Related to Log – Could not get completion stats

Prevent Your Next ELK Incident

Try our free Check Up to test if your ES issues are caused from misconfigured settings

Prevent Issue

Updated: Feb-20

In-Page Navigation (click to jump) :

Opster Offer’s World-Class Elasticsearch Expertise In One Powerful Product
Try Our Free ES Check-Up   Prevent Incident

Troubleshooting background

To troubleshoot Elasticsearch log “Could not get completion stats” it’s important to understand common problems related to Elasticsearch concepts: search. See detailed explanations below complete with common problems, examples and useful tips.

Search in Elasticsearch

What it is

Search refers to the searching of documents in an index or multiple indices. The simple search is just a GET request to _search endpoint. The search query can either be provided in query string or through  a request body.

Examples

When looking for any documents in this index, if search parameters are not provided, every document is a hit and by default 10 hits will be returned.

GET my_documents/_search

A JSON object is returned in response to a search query. A 200 response code will mean the request completed successfully.

{
"took" : 1,
"timed_out" : false,
"_shards" : {
"total" : 2,
"successful" : 2,
"failed" : 0
},
"hits" : {
"total" : 2,
"max_score" : 1.0,
"hits" : [
...
]
}
}
Notes
  • Distributed search is challenging and every shard of the index needs to be searched for hits, and then those hits are combined into a single sorted list as a final result.
  • There are two phases of search: the query phase and the fetch phase.
  • In the query phase, the query is executed on each shard locally and top hits are returned to the coordinating node. The coordinating node merges the results and creates a global sorted list. 
  • In the fetch phase, the coordinating node brings the actual documents for those hit IDs and returns them to the requesting client.
  • A coordinating node needs enough memory and CPU in order to handle the fetch phase.


To help troubleshoot related issues we have gathered selected Q&A from the community and issues from Github , please review the following for further information :

1 Elasticsearch Cluster Fails To Stab  

2Monitoring Restore Progress In Elas  


Log Context

Log ”Could not get completion stats” classname is Completion090PostingsFormat.java
We have extracted the following from Elasticsearch source code to get an in-depth context :

                         CompletionTerms completionTerms = (CompletionTerms) terms;
                        completionStats.add(completionTerms.stats(fieldNamePatterns));
                    }
                }
            } catch (IOException ioe) {
                logger.error("Could not get completion stats"; ioe);
            }
        }

        return completionStats;
    }






About Opster

Opster identifies and predicts root causes of Elasticsearch problems, provides recommendations and can automatically perform various actions to prevent issues, optimize performance and save resources.

Learn more: Glossary | Blog| Troubleshooting guides | Error Repository

Need help with any Elasticsearch issue ? Contact Opster