You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by te...@apache.org on 2022/10/19 08:56:59 UTC
[pulsar] branch branch-2.11 updated: [fix][broker]Cache invalidation due to concurrent access (#18076)
This is an automated email from the ASF dual-hosted git repository.
technoboy pushed a commit to branch branch-2.11
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/branch-2.11 by this push:
new 81bdcfec65e [fix][broker]Cache invalidation due to concurrent access (#18076)
81bdcfec65e is described below
commit 81bdcfec65eea84d89c5dab719ef1d6cba408359
Author: fengyubiao <yu...@streamnative.io>
AuthorDate: Wed Oct 19 16:51:27 2022 +0800
[fix][broker]Cache invalidation due to concurrent access (#18076)
---
.../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 1b82aa1318e..98ae6659b78 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
@@ -196,13 +196,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);
removedCount++;
value.release();