-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
storage: scatter right after split leads to poor balance #35907
Comments
@darinpp this could be a baptism-by-fire debugging allocator/replication issue for you -- let's chat about it in 1:1 |
We have marked this issue as stale because it has been inactive for |
I thought this would have been fixed by #75894, but it appears that the issue remains. cc. @aayushshah15. |
I looked into this and what's happening here is that we're seeing correlated decisions being made across the different ranges that In |
It seems bad that these scatters aren't rate limited somehow, so it seems like calling scatter on a large enough table can lead to During the evaluation of |
We have marked this issue as stale because it has been inactive for |
Run this script:
See this kind of graph:
The expectation is that the SCATTER leaves the leaseholders roughly balanced. The graph shows a >10x difference.
We think that much of the variability in durations of bulk i/o restore/import is due to this phenomenon.
When I looked at this last, I think it was caused by the allocator receiving updated replica counts only at some interval, but I just inserted a 20s sleep before the scatter and it's just as bad. Ditto 70s:
Scatters seems to .... just not be doing the right thing. It seems to drain the local node, giving equal shares of the leases to the other followers.
cc @danhhz this is much worse than I thought 😆
Jira issue: CRDB-4542
The text was updated successfully, but these errors were encountered: