-
Notifications
You must be signed in to change notification settings - Fork 1.5k
app/vminsert: improve slowness-based rerouting logic #9945
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
base: cluster
Are you sure you want to change the base?
Conversation
f88d7c1 to
e25d34b
Compare
| // | ||
| // See the comments below for detailed conditions. | ||
| func allowRerouting(snSource *storageNode, sns []*storageNode) bool { | ||
| if *disableRerouting { |
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.
Should rerouting be disabled for RF>1 ? AFAIK it does not work reliably at the moment.
85c831b to
701080a
Compare
Adjust slowness-based rerouting logic. Rerouting now occurs only from the slowest node, and only if the cluster as a whole has enough available capacity to handle the additional load. See the detailed proposal: #9890
701080a to
cc5fa73
Compare
|
I know that the tests are yet to be added, but could you share some manual steps to reproduce that this PR acrually improves the ingestion rate? Maybe also share the metrics to look at in order to confirm the improvement. |
Do you mean integration tests ? Not sure if one could be written. It would be slow (needs warmup for averages) and fragile. Or some options that reduce warmup time just for the sake of tests. As for manual tests, I'll do some tests myself and share the results here, and also share the scripts I used for it. |
Describe Your Changes
Adjust slowness-based rerouting logic.
Rerouting now occurs only from the slowest node, and only if the cluster as a whole has enough available capacity to handle the additional load.
See the detailed proposal: #9890
TODO:
Checklist
The following checks are mandatory: