heesung-sn commented on code in PR #23903:
URL: https://github.com/apache/pulsar/pull/23903#discussion_r1932651066


##########
managed-ledger/src/main/java/org/apache/bookkeeper/mledger/util/RangeCache.java:
##########
@@ -106,7 +106,39 @@ K getKey() {
             return localKey;
         }
 
+        /**
+         * Get the value associated with the key. Returns null if the key does 
not match the key.
+         *
+         * @param key the key to match
+         * @return the value associated with the key, or null if the value has 
already been recycled or the key does not
+         * match
+         */
         V getValue(K key) {
+            return getValueInternal(key, false);
+        }
+
+        /**
+         * Get the value associated with the Map.Entry's key and value. Exact 
instance of the key is required to match.
+         * @param entry the entry which contains the key and {@link 
EntryWrapper} value to get the value from
+         * @return the value associated with the key, or null if the value has 
already been recycled or the key does not
+         * exactly match the same instance
+         */
+        static <K, V> V getValueMatchingMapEntry(Map.Entry<K, EntryWrapper<K, 
V>> entry) {
+            return entry.getValue().getValueInternal(entry.getKey(), true);

Review Comment:
   any NPE from entry.getValue()?



##########
managed-ledger/src/main/java/org/apache/bookkeeper/mledger/util/RangeCache.java:
##########
@@ -116,7 +148,11 @@ V getValue(K key) {
                 localValue = this.value;
                 lock.unlockRead(stamp);
             }
-            if (localKey != key) {
+            // check that the given key matches the key associated with the 
value in the entry

Review Comment:
   What happens when this.key and this.value are recycled and have new 
key/value after this line? Are we ok to return the old value here?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to