-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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 released versions
Minimal reproduce step
Problem description:
In the Shared subscription, messages get added to the replay queue when a consumer disconnects. In Key_Shared subscription, the replay queue is also used when messages cannot be dispatched to a target consumer due to insufficient permits or when the hash is blocked.
There's a problem in the current implementation since the dispatcherMaxReadSizeBytes
(default 5MB) setting isn't taken into account in the reads. The impact of this is that consumers will receive a large batch messages at once if the reads succeed. The exact implication of this isn't fully known at this time. However, it's against the design to ignore the dispatcherMaxReadSizeBytes
setting which is helpful in making smaller incremental progress on individual dispatchers and service all active dispatchers in the broker one-by-one as fairly as possible.
What did you expect to see?
That dispatcherMaxReadSizeBytes
is used for redelivering message.
What did you see instead?
dispatcherMaxReadSizeBytes
is ignored.
Anything else?
No response
Are you willing to submit a PR?
- I'm willing to submit a PR!