This is an automated email from the ASF dual-hosted git repository. merlimat pushed a commit to branch branch-4.17 in repository https://gitbox.apache.org/repos/asf/bookkeeper.git
commit 8c38782b230abe1193b63616944423f29c84c4f0 Author: Justin Prieto <[email protected]> AuthorDate: Thu Apr 23 10:15:31 2026 -0400 Fix race condition NPE in V3 response handling during timeout check (#4737) --- .../main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java index 39e3311e1f..6bca48c1b2 100644 --- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java +++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java @@ -1535,7 +1535,7 @@ public class PerChannelBookieClient extends ChannelInboundHandlerAdapter { final BKPacketHeader header = response.getHeader(); final CompletionKey key = newCompletionKey(header.getTxnId(), header.getOperation()); - final CompletionValue completionValue = completionObjects.get(key); + final CompletionValue completionValue = completionObjects.remove(key); if (null == completionValue) { // Unexpected response, so log it. The txnId should have been present. @@ -1560,8 +1560,6 @@ public class PerChannelBookieClient extends ChannelInboundHandlerAdapter { } }); } - - completionObjects.remove(key); } void initTLSHandshake() {
