-
Notifications
You must be signed in to change notification settings - Fork 16
Make dynamic batch pump more aggressively #757
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Low value for maxUnconfirmedMessages combined with unfortunate timing can make the dynamic batch flush only on timeout. This commit makes the dynamic batch class "pump" for new items (messages) more aggressively, which mitigates the problem. References #750
Make dynamic batch pump more aggressively
Thank you for the quick fix! |
@pvaiko You can use the 1.1.0 snapshot for your tests. There is also the stream performance tool, the latest snapshot has the fix. |
Sorry for the late reply, I finally had some time to test this. The 1.1.0-SNAPSHOT and the latest perf tool now work as expected, except now maxUnconfirmedMessages = 9 (or --confirms 9) seems to have a significant throughput drop, 10 and all other numbers I tried work fine. It is no big deal, we can live with it. With --confirms 10 everything is now normal with 1.1.0:
With --confirms 9 a significant drop with 1.1.0:
|
OK, thanks for the follow-up. |
A small value for max unconfirmed messages can impact the dynamic batch mechanism. This commit sets the min batch size to half the max unconfirmed messages value if it is less than the configured batch size. References #757
Low value for maxUnconfirmedMessages combined with unfortunate timing can make the dynamic batch flush only on timeout.
This commit makes the dynamic batch class "pump" for new items (messages) more aggressively, which mitigates the problem.
References #750