This is an automated email from the ASF dual-hosted git repository.
lhotari pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new b083e9a7222 [Fix][Broker] Fix race condition in `OpAddEntry` (#15233)
b083e9a7222 is described below
commit b083e9a72227a3360d1ec33b5f239d82f0804e65
Author: Qiang Zhao <[email protected]>
AuthorDate: Thu Apr 21 14:58:01 2022 +0800
[Fix][Broker] Fix race condition in `OpAddEntry` (#15233)
---
.../java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
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 3c67d6e2bb4..277e4df0244 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
@@ -3829,12 +3829,13 @@ public class ManagedLedgerImpl implements
ManagedLedger, CreateCallback {
}
OpAddEntry opAddEntry = pendingAddEntries.peek();
if (opAddEntry != null) {
+ final long finalAddOpCount = opAddEntry.addOpCount;
boolean isTimedOut = opAddEntry.lastInitTime != -1
&& TimeUnit.NANOSECONDS.toSeconds(System.nanoTime() -
opAddEntry.lastInitTime) >= timeoutSec;
if (isTimedOut) {
log.error("Failed to add entry for ledger {} in time-out {}
sec",
(opAddEntry.ledger != null ? opAddEntry.ledger.getId()
: -1), timeoutSec);
- opAddEntry.handleAddTimeoutFailure(opAddEntry.ledger,
opAddEntry.addOpCount);
+ opAddEntry.handleAddTimeoutFailure(opAddEntry.ledger,
finalAddOpCount);
}
}
}