This is an automated email from the ASF dual-hosted git repository. larsh pushed a commit to branch 4.x in repository https://gitbox.apache.org/repos/asf/phoenix.git
The following commit(s) were added to refs/heads/4.x by this push: new 5c57004 PHOENIX-6436 OrderedResultIterator overestimates memory requirements. 5c57004 is described below commit 5c57004e2717736370aaec208112e197940e5cc2 Author: Lars <la...@apache.org> AuthorDate: Sun Apr 4 15:42:54 2021 -0700 PHOENIX-6436 OrderedResultIterator overestimates memory requirements. --- .../main/java/org/apache/phoenix/iterate/OrderedResultIterator.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/phoenix-core/src/main/java/org/apache/phoenix/iterate/OrderedResultIterator.java b/phoenix-core/src/main/java/org/apache/phoenix/iterate/OrderedResultIterator.java index bb0607c..4179730 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/iterate/OrderedResultIterator.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/iterate/OrderedResultIterator.java @@ -196,7 +196,8 @@ public class OrderedResultIterator implements PeekingResultIterator { // Make sure we don't overflow Long, though this is really unlikely to happen. assert(limit == null || Long.MAX_VALUE / estimatedEntrySize >= limit + this.offset); - this.estimatedByteSize = limit == null ? 0 : (limit + this.offset) * estimatedEntrySize; + // Both BufferedSortedQueue and SizeBoundQueue won't allocate more than thresholdBytes. + this.estimatedByteSize = limit == null ? 0 : Math.min((limit + this.offset) * estimatedEntrySize, thresholdBytes); this.pageSizeMs = pageSizeMs; }