-
Notifications
You must be signed in to change notification settings - Fork 19
Open
Labels
backlogThe issue will be solved in the futureThe issue will be solved in the futureenhancementNew feature or requestNew feature or request
Description
Looking at implementation here:
https://github.com/platformatic/kafka/blob/main/src/clients/consumer/messages-stream.ts#L364-L406
fetch requests include all assigned partitions for each leader, which results in some partitions advance much faster than the others. Once partitions catch up to current offsets, only then are other partitions allowed to advance. My guess is that if one partition can saturate maxBytes, other partitions get ignored on the server. This differs from Java implementation, where they don't include partitions in a fetch request that already have records in a local buffer.
Quick look at this method should make my point clear:
Metadata
Metadata
Assignees
Labels
backlogThe issue will be solved in the futureThe issue will be solved in the futureenhancementNew feature or requestNew feature or request