Skip to content

In query aggregation: java.lang.ArrayIndexOutOfBoundsException: Operation would underflow and lose precision of already recorded value counts #131330

Open
@smalyshev

Description

@smalyshev

Elasticsearch Version

git-fbf9f4fc012a

Installed Plugins

No response

Java Version

bundled

OS Version

Ubuntu 20.04

Problem Description

Suppressed error on serverless:

org.elasticsearch.search.query.QueryPhaseExecutionException: Query Failed [Failed to execute main query]
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.query.QueryPhase.addCollectorsAndSearch(QueryPhase.java:237)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.query.QueryPhase.executeQuery(QueryPhase.java:143)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:70)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.indices.IndicesService.lambda$loadIntoContext$39(IndicesService.java:1681)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.indices.IndicesService.lambda$cacheShardLevelResult$40(IndicesService.java:1747)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.indices.IndicesRequestCache$Loader.load(IndicesRequestCache.java:165)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.indices.IndicesRequestCache$Loader.load(IndicesRequestCache.java:148)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.common.cache.Cache.computeIfAbsent(Cache.java:440)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.indices.IndicesRequestCache.getOrCompute(IndicesRequestCache.java:111)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.indices.IndicesService.cacheShardLevelResult(IndicesService.java:1753)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.indices.IndicesService.loadIntoContext(IndicesService.java:1675)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.SearchService.loadOrExecuteQueryPhase(SearchService.java:670)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:877)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.SearchService.lambda$executeQueryPhase$7(SearchService.java:710)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.action.ActionRunnable$3.accept(ActionRunnable.java:79)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.action.ActionRunnable$3.accept(ActionRunnable.java:76)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.action.ActionRunnable$4.doRun(ActionRunnable.java:101)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:27)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.common.util.concurrent.TimedRunnable.doRun(TimedRunnable.java:35)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:1044)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:27)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619)
	at java.base/java.lang.Thread.run(Thread.java:1447)
Caused by: java.lang.ArrayIndexOutOfBoundsException: The value 9.22337203900226E18 is out of bounds for histogram, current covered range [512.0, 1.099511627776E12) cannot be extended any further.
Caused by: java.lang.ArrayIndexOutOfBoundsException: Cannot resize histogram covered range beyond (1L << 63) / (1L << 10) - 1.
Caused by: java.lang.ArrayIndexOutOfBoundsException: Operation would underflow and lose precision of already recorded value counts
	at HdrHistogram@2.1.9/org.HdrHistogram.DoubleHistogram.autoAdjustRangeForValueSlowPath(DoubleHistogram.java:412)
	at HdrHistogram@2.1.9/org.HdrHistogram.DoubleHistogram.autoAdjustRangeForValue(DoubleHistogram.java:378)
	at HdrHistogram@2.1.9/org.HdrHistogram.DoubleHistogram.recordCountAtValue(DoubleHistogram.java:334)
	at HdrHistogram@2.1.9/org.HdrHistogram.DoubleHistogram.recordValueWithCount(DoubleHistogram.java:301)
	at org.elasticsearch.xpack.analytics.aggregations.metrics.AbstractHistoBackedHDRPercentilesAggregator$1.collect(AbstractHistoBackedHDRPercentilesAggregator.java:78)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.aggregations.LeafBucketCollector.collect(LeafBucketCollector.java:87)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.query.QueryPhaseCollector$CompositeLeafCollector.collect(QueryPhaseCollector.java:307)
	at org.apache.lucene.core@10.2.2/org.apache.lucene.util.FixedBitSet.forEach(FixedBitSet.java:868)
	at org.apache.lucene.core@10.2.2/org.apache.lucene.util.FixedBitSet.forEach(FixedBitSet.java:854)
	at org.apache.lucene.core@10.2.2/org.apache.lucene.search.BitSetDocIdStream.forEach(BitSetDocIdStream.java:44)
	at org.apache.lucene.core@10.2.2/org.apache.lucene.search.DocIdStream.forEach(DocIdStream.java:37)
	at org.apache.lucene.core@10.2.2/org.apache.lucene.search.LeafCollector.collect(LeafCollector.java:106)
	at org.apache.lucene.core@10.2.2/org.apache.lucene.search.DenseConjunctionBulkScorer.scoreWindowUsingBitSet(DenseConjunctionBulkScorer.java:288)
	at org.apache.lucene.core@10.2.2/org.apache.lucene.search.DenseConjunctionBulkScorer.scoreWindow(DenseConjunctionBulkScorer.java:210)
	at org.apache.lucene.core@10.2.2/org.apache.lucene.search.DenseConjunctionBulkScorer.score(DenseConjunctionBulkScorer.java:132)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.internal.CancellableBulkScorer.score(CancellableBulkScorer.java:46)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.internal.ContextIndexSearcher.searchLeaf(ContextIndexSearcher.java:460)
	at org.apache.lucene.core@10.2.2/org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:809)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.internal.ContextIndexSearcher.search(ContextIndexSearcher.java:387)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.internal.ContextIndexSearcher.lambda$search$3(ContextIndexSearcher.java:365)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)
	at org.apache.lucene.core@10.2.2/org.apache.lucene.search.TaskExecutor$Task.run(TaskExecutor.java:173)
	at org.apache.lucene.core@10.2.2/org.apache.lucene.search.TaskExecutor.invokeAll(TaskExecutor.java:111)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.internal.ContextIndexSearcher.search(ContextIndexSearcher.java:369)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.internal.ContextIndexSearcher.search(ContextIndexSearcher.java:336)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.query.QueryPhase.addCollectorsAndSearch(QueryPhase.java:212)
	... 23 more

Steps to Reproduce

No independent reproduction yet

Logs (if relevant)

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions