From 2801def251f743ec63bbac7867630d3f8a9e61d6 Mon Sep 17 00:00:00 2001 From: Jiwe Guo Date: Mon, 3 Nov 2025 16:56:11 +0800 Subject: [PATCH] Use poll instead remove to avoid exception --- .../java/org/apache/pulsar/client/impl/RawReaderImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/client/impl/RawReaderImpl.java b/pulsar-broker/src/main/java/org/apache/pulsar/client/impl/RawReaderImpl.java index 02c0fd568d832..c3f8254fb5e30 100644 --- a/pulsar-broker/src/main/java/org/apache/pulsar/client/impl/RawReaderImpl.java +++ b/pulsar-broker/src/main/java/org/apache/pulsar/client/impl/RawReaderImpl.java @@ -218,7 +218,10 @@ protected CompletableFuture failPendingReceive() { private void failPendingRawReceives() { List> toError = new ArrayList<>(); while (!pendingRawReceives.isEmpty()) { - toError.add(pendingRawReceives.remove()); + final CompletableFuture ret = pendingRawReceives.poll(); + if (ret != null) { + toError.add(ret); + } } toError.forEach((f) -> f.cancel(false)); }