I am getting collection_terminated_exception when running nested min aggregation. However, max, avg, and sum are returning empty buckets. This is happening when the field we are doing aggregation is not present in any of the documents. I have tested it with ES version 6.7.0 and 6.8.1
Steps to reproduce:
Data:
PUT test
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1
}
}
POST test/_doc/_bulk
{"index":{"_id":"1"}}
{"user_id":"abcd","name":"Jane Doe","score":34.56,"age":45}
{"index":{"_id":"2"}}
{"user_id":"abcd10","name":"John Doe","score":12.34,"age":32}
Query:
GET test/_search
{
"size": 0,
"query": {
"bool": {
"should": [
{
"exists": {
"field": "marks"
}
}
]
}
},
"aggregations": {
"group_by_user_id": {
"terms": {
"field": "user_id.keyword",
"order": [
{
"_count": "desc"
},
{
"_key": "asc"
}
]
},
"aggregations": {
"marks_agg": {
"min": {
"field": "marks"
}
}
}
}
}
}
Response:
{
"error": {
"root_cause": [
{
"type": "collection_terminated_exception",
"reason": null
}
],
"type": "search_phase_execution_exception",
"reason": "all shards failed",
"phase": "query",
"grouped": true,
"failed_shards": [
{
"shard": 0,
"index": "test",
"node": "rPmR06ZwS92VNUknAW7Ppw",
"reason": {
"type": "collection_terminated_exception",
"reason": null
}
}
],
"caused_by": {
"type": "collection_terminated_exception",
"reason": null,
"caused_by": {
"type": "collection_terminated_exception",
"reason": null
}
}
},
"status": 500
}
Here is the response of avg aggregation. We are observing similar results for max and sum as well:
{
"took" : 0,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : 0,
"max_score" : 0.0,
"hits" : [ ]
},
"aggregations" : {
"group_by_user_id" : {
"doc_count_error_upper_bound" : 0,
"sum_other_doc_count" : 0,
"buckets" : [ ]
}
}
}