-
Notifications
You must be signed in to change notification settings - Fork 264
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
fix: reduce max packet receive time during leader window #2801
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bw-solana Could you review this simple change; I have tested very similar changes previouly.
As @cavemanloverboy mentioned, something that can happen is we schedule or drop all txs in our buffer and enter a 100ms receive while leader - this can be extremely slow.
Before we get a better type for deserialization I think this is a reasonable stop-gap solution.
Code change itself is straight-forward, but since I've made previous changes in past I think its' a bit sketch for me to approve this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
"Okay, it's bad we'll wait up to 100ms, but surely we'll hit the packet limit first in the practical case"
checks packet limit
🤡
i never added the damn ci flag. will watch this and merge |
What are the implications of this change? |
from OP: "In certain cases (if the transaction container is emptied during a leader's window), the scheduler controller may wait up to 100 milliseconds for incoming packets." There is a (somewhat rare) case where the scheduler will collect packets for 100 ms before it even begins scheduling. That's 1/4 of the a slot... This will reduce this time to 10ms so that there is never a time where the scheduler is twiddling its thumbs waiting for packets. |
Problem
In certain cases (if the transaction container is emptied during a leader's window), the scheduler controller may wait up to 100 milliseconds for incoming packets.
Summary of Changes
Reduce the constant max wait from 100 ms to 10 ms.