This is an automated email from the ASF dual-hosted git repository. eolivelli pushed a commit to branch branch-2.9 in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit bce5d56e5f7250d3337838c69cb9a0d0051a65e2 Author: Lari Hotari <[email protected]> AuthorDate: Tue Nov 2 06:00:33 2021 +0200 [ML] Add OpAddEntry to pendingAddEntries after the state check (#12570) - when the state was Fenced, Terminated or Closed, the OpAddEntry instance would remain in pendingAddEntries although the operation is failed immediately. (cherry picked from commit 409239ce27d7d5f9800c5d09e0455ad4c5c0871c) --- .../java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java index fa9a5cf..957cfbb 100644 --- a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java +++ b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java @@ -729,7 +729,6 @@ public class ManagedLedgerImpl implements ManagedLedger, CreateCallback { if (!beforeAddEntry(addOperation)) { return; } - pendingAddEntries.add(addOperation); final State state = STATE_UPDATER.get(this); if (state == State.Fenced) { addOperation.failed(new ManagedLedgerFencedException()); @@ -741,10 +740,10 @@ public class ManagedLedgerImpl implements ManagedLedger, CreateCallback { addOperation.failed(new ManagedLedgerAlreadyClosedException("Managed ledger was already closed")); return; } else if (state == State.WriteFailed) { - pendingAddEntries.remove(addOperation); addOperation.failed(new ManagedLedgerAlreadyClosedException("Waiting to recover from failure")); return; } + pendingAddEntries.add(addOperation); if (state == State.ClosingLedger || state == State.CreatingLedger) { // We don't have a ready ledger to write into
