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 <[email protected]>
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;
}