This is an automated email from the ASF dual-hosted git repository.

lhotari pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/pulsar.git

commit 807e2614d56a8e8293c08693056d9b2dbc2b8259
Author: Jiwei Guo <[email protected]>
AuthorDate: Mon Nov 3 18:53:59 2025 +0800

    [fix][broker] Use `poll` instead `remove` to avoid `NoSuchElementException` 
(#24933)
    
    (cherry picked from commit 402ed5bc0a50b07fc7baff6c9c6a0ed0eb07a6b5)
---
 .../src/main/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 df6581aa29d..957b95012e0 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
@@ -199,7 +199,10 @@ public class RawReaderImpl implements RawReader {
         private void failPendingRawReceives() {
             List<CompletableFuture<RawMessage>> toError = new ArrayList<>();
             while (!pendingRawReceives.isEmpty()) {
-                toError.add(pendingRawReceives.remove());
+                final CompletableFuture<RawMessage> ret = 
pendingRawReceives.poll();
+                if (ret != null) {
+                    toError.add(ret);
+                }
             }
             toError.forEach((f) -> f.cancel(false));
         }

Reply via email to