You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by GitBox <gi...@apache.org> on 2021/05/07 09:09:35 UTC
[GitHub] [pulsar] devinbost opened a new pull request #10501: [ManagedLedgerImpl] Fix infinite loop in asyncCreateLedger that deadlocks the client producer semaphore
devinbost opened a new pull request #10501:
URL: https://github.com/apache/pulsar/pull/10501
We currently have a producer deadlock where the producer semaphore is not getting released because the broker is not sending the ack. The mystery was why the broker was not sending the ack.
During extensive log tracing, it was discovered that right when the subscription freezes, the log message `Ledger already created when timeout task is triggered` floods the broker log several thousand times, and after that, the broker stops processing messages.
Thanks to the help from @rdhabalia and @codelipenghui , it was discovered that `ManagedLedgerImpl.asyncCreateLedger(..)` is triggering the error callback instead of returning despite the ledger already having been created when the timeout task was triggered. Since the ledger was created, we should be returning from `asyncCreateLedger` instead of triggering the callback and trying to create the ledger again.
Fixes #6054
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [pulsar] devinbost commented on pull request #10501: [ManagedLedgerImpl] Fix infinite loop in asyncCreateLedger that deadlocks the client producer semaphore
Posted by GitBox <gi...@apache.org>.
devinbost commented on pull request #10501:
URL: https://github.com/apache/pulsar/pull/10501#issuecomment-834196921
(Converting this to a draft while testing the branch in an environment where I've been able to reproduce the freezing subscription.)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [pulsar] devinbost commented on pull request #10501: [managed-ledger] Fix infinite loop timeout in asyncCreateLedger that deadlocks the client producer semaphore
Posted by GitBox <gi...@apache.org>.
devinbost commented on pull request #10501:
URL: https://github.com/apache/pulsar/pull/10501#issuecomment-834227244
Turns out I misread the code. Closing this for now.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [pulsar] devinbost closed pull request #10501: [managed-ledger] Fix infinite loop timeout in asyncCreateLedger that deadlocks the client producer semaphore
Posted by GitBox <gi...@apache.org>.
devinbost closed pull request #10501:
URL: https://github.com/apache/pulsar/pull/10501
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org