This is an automated email from the ASF dual-hosted git repository. bogong pushed a commit to branch branch-2.9 in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit 42d0060ccbedeca1bd383be18af94cd91df523e6 Author: fengyubiao <[email protected]> AuthorDate: Wed Oct 19 16:51:27 2022 +0800 [fix][broker]Cache invalidation due to concurrent access (#18076) (cherry picked from commit 7e5cad778907f3a0095343492cbf07ca202976b4) --- .../main/java/org/apache/bookkeeper/mledger/util/RangeCache.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/util/RangeCache.java b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/util/RangeCache.java index 4a77ac91dca..6d6e71b18fa 100644 --- a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/util/RangeCache.java +++ b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/util/RangeCache.java @@ -192,13 +192,12 @@ public class RangeCache<Key extends Comparable<Key>, Value extends ReferenceCoun if (entry == null || timestampExtractor.getTimestamp(entry.getValue()) > maxTimestamp) { break; } - - entry = entries.pollFirstEntry(); - if (entry == null) { + Value value = entry.getValue(); + boolean removeHits = entries.remove(entry.getKey(), value); + if (!removeHits) { break; } - Value value = entry.getValue(); removedSize += weighter.getSize(value); value.release(); }
