Elasticsearch version (bin/elasticsearch --version
): 6.0.0-rc1
JVM version (java -version
):
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
OS version (uname -a
if on a Unix-like system):
Linux elasticsearch-data-hot-003 4.11.0-1013-azure #13-Ubuntu SMP Mon Oct 2 17:59:06 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Description of the problem including expected versus actual behavior:
When doing a bucket script
aggregation that depends on a cumulative sum aggregation of another sum aggregation, if the sum aggregation returns null values (Because there are no docs in that time interval bucket), the bucket script aggregation will also return null, instead of relying on the cumulative sum value that was gathered so far.
Steps to reproduce:
Please include a minimal but complete recreation of the problem, including
(e.g.) index creation, mappings, settings, query etc. The easier you make for
us to reproduce it, the more likely that somebody will take the time to look at it.
- Add docs that span over 5 minutes that look like this:
{
@timestamp: '',
bytes: 100
}
- Run a query that spans after the 5m end (meaning that there will be date histogram buckets without docs), with this aggregation:
{
"aggs": {
"timeseries": {
"date_histogram": {
"field": "@timestamp",
"interval": "1m",
"min_doc_count": 0,
"time_zone": "UTC"
},
"aggs": {
"sum_bytes": {
"sum": {
"field": "bytes"
}
},
"cumulative_bytes": {
"cumulative_sum": {
"buckets_path": "sum_bytes"
}
},
"bucket": {
"bucket_script": {
"buckets_path": {
"bytes": "cumulative_bytes"
},
"script": {
"source": "params.bytes",
"lang": "painless"
}
}
}
}
}
}
}
- Check the response and see that in the date histogram without buckets, the
bucket
aggregation does not show the value that its supposed to (Thecumulative_bytes
value). (It doesn't exist for those time buckets)