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)); }
