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
The following commit(s) were added to refs/heads/branch-3.0 by this push:
new e4815119b13 [fix][txn] fix concurrent error cause txn stuck in
TransactionBufferHandlerImpl#endTxn (#23551)
e4815119b13 is described below
commit e4815119b13190cf5aa1b1d32a2c36e18b6152ff
Author: ken <[email protected]>
AuthorDate: Wed Nov 5 04:17:14 2025 +0800
[fix][txn] fix concurrent error cause txn stuck in
TransactionBufferHandlerImpl#endTxn (#23551)
Co-authored-by: fanjianye <[email protected]>
(cherry picked from commit c4f125cfa292a8d61e0d037fa2d0fa1e89308b29)
---
.../broker/transaction/buffer/impl/TransactionBufferHandlerImpl.java | 4 ++++
1 file changed, 4 insertions(+)
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/transaction/buffer/impl/TransactionBufferHandlerImpl.java
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/transaction/buffer/impl/TransactionBufferHandlerImpl.java
index 9aac9ab64d0..f67aa62c951 100644
---
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/transaction/buffer/impl/TransactionBufferHandlerImpl.java
+++
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/transaction/buffer/impl/TransactionBufferHandlerImpl.java
@@ -127,6 +127,9 @@ public class TransactionBufferHandlerImpl implements
TransactionBufferHandler {
}
} else {
pendingRequests.add(op);
+ if (currentPermits != REQUEST_CREDITS_UPDATER.get(this)) {
+ checkPendingRequests();
+ }
return false;
}
}
@@ -250,6 +253,7 @@ public class TransactionBufferHandlerImpl implements
TransactionBufferHandler {
invalid.recycle();
}
endTxn(polled);
+ break;
} else {
REQUEST_CREDITS_UPDATER.incrementAndGet(this);
}