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
The following commit(s) were added to refs/heads/branch-2.9 by this push:
new cc37fb48dac [fix][broker]Cache invalidation due to concurrent access
(#18076)
cc37fb48dac is described below
commit cc37fb48dac3583cb467864e1d10d8d5d7eb1235
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();
}