Skip to content

Commit fb82048

Browse files
TakaHiR07fanjianye
authored andcommitted
[fix][txn] fix concurrent error cause txn stuck in TransactionBufferHandlerImpl#endTxn (apache#23551)
Co-authored-by: fanjianye <[email protected]> (cherry picked from commit c4f125c) (cherry picked from commit 74931c9)
1 parent d394be3 commit fb82048

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

pulsar-broker/src/main/java/org/apache/pulsar/broker/transaction/buffer/impl/TransactionBufferHandlerImpl.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,9 @@ private boolean checkRequestCredits(OpRequestSend op) {
128128
}
129129
} else {
130130
pendingRequests.add(op);
131+
if (currentPermits != REQUEST_CREDITS_UPDATER.get(this)) {
132+
checkPendingRequests();
133+
}
131134
return false;
132135
}
133136
}
@@ -251,6 +254,7 @@ private void checkPendingRequests() {
251254
invalid.recycle();
252255
}
253256
endTxn(polled);
257+
break;
254258
} else {
255259
REQUEST_CREDITS_UPDATER.incrementAndGet(this);
256260
}

0 commit comments

Comments
 (0)