Description
Search before asking
- I searched in the issues and found nothing similar.
Read release policy
- I understand that unsupported versions don't get bug fixes. I will attempt to reproduce the issue on a supported version of Pulsar client and Pulsar broker.
Version
all release versions
Minimal reproduce step
No steps to reproduce yet. This is based on reading the code and is more of a concern that a proven bug.
What did you expect to see?
Consumers shouldn't get stuck in complex scenarios where a trigger to read more gets ignored due to some other rule.
What did you see instead?
In dispatchers, the way how readMoreEntries is handled is not consistent.
It is very likely that a consumer will stop reading more entries and dispatching entries to a consumer when it would be necessary to do so. The reason for this is that there isn't proper tracking for the "signals" that trigger reading more and whether the signal is being handled. Now there are multiple flags and ways to prevent multiple reads in flight at once. This needs a refactoring to ensure that the behavior is consistent and reliable.
Anything else?
No response
Are you willing to submit a PR?
- I'm willing to submit a PR!