Skip to content
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

Dynamically change replication throttle for an on-going rebalance #929

Open
stanislavkozlovski opened this issue Sep 3, 2019 · 7 comments
Labels
functionality A feature request. good first issue A good fit as a first issue in the project. robustness Makes the project tolerate or handle perturbations.

Comments

@stanislavkozlovski
Copy link
Contributor

Now that we have support for replication throttle (#748, thanks again @aaronlevin-stripe), I thought it would be great to have a way to change a throttle in the middle of a rebalance.

In cases where you set one throttle but later realized it wasn't satisfactory (e.g things going too slow or too unstable), it is invaluable to have a quick way to revert it.

I thought adding a new endpoint for updating throttle (or maybe extending /admin?) may be straightforward to do.
What are people's thoughts on this?

@efeg efeg added functionality A feature request. robustness Makes the project tolerate or handle perturbations. good first issue A good fit as a first issue in the project. labels Sep 3, 2019
@ShubhamRwt
Copy link

Hello, Is this issue still valid? If yes, then can I work upon it ?

@StarKnightt
Copy link

Hello, Is this issue still valid? If yes, then can I work upon it ?

Nah, It's fixed.

@imans777
Copy link

imans777 commented Jan 1, 2025

it's not fixed I believe. we can't change replication_throttle in the middle of a rebalance operation. Only max partition numbers and concurrent movements can be changed via /admin API.
I still think it's an important feature that should be implemented. I'm now in the middle of a rebalance on a very high load cluster (~10M records/s) and I'm struggling to find a good value for this. I have to stop execution each time and wait for lags to drop (which takes hours) and then try again with new value.

@oleg-vlsk
Copy link

@stanislavkozlovski @imans777
Hi, is this issue still relevant? If so, can I work on it?

@imans777
Copy link

@stanislavkozlovski @imans777 Hi, is this issue still relevant? If so, can I work on it?

Well I'm not a contributor yet, but to me it's an invaluable feature 😅
I still don't get the point @StarKnightt mentioned, because I don't see it fixed.

@oleg-vlsk
Copy link

oleg-vlsk commented Jan 20, 2025

@efeg @stanislavkozlovski
I'd be glad to take a shot at this. Should someone assign me to the issue first, or can I just start working on it and submit a PR when it's done?

@imans777
Copy link

@efeg @stanislavkozlovski I'd be glad to take a shot at this. Should someone assign me to the issue first, or can I just start working on it and submit a PR when it's done?

I'd be very glad to have this feature too 😀
As I've looked in this project for a while, it seems that if an issue gets labels as this issue has ("good first issue", etc), it is going to be accepted if a PR is submitted. If the change is big, it needs a design proposal, but I believe this issue is not one of them. So I believe if you just add this feature (e.g. to the current /admin API) and write a test for it, the contributors would accept it. Because change is not going to be a big one, if you ping them they'll probably be accessible (for big changes I think they're too busy to review and submit :D).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
functionality A feature request. good first issue A good fit as a first issue in the project. robustness Makes the project tolerate or handle perturbations.
Projects
None yet
Development

No branches or pull requests

6 participants