-
Notifications
You must be signed in to change notification settings - Fork 12
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
Remove disk feature #53
Conversation
e4e415b
to
760aeaf
Compare
PR waiting for successful upstream rebase |
what do you mean? |
@aguzovatii performed a rebase on master branch with the latest upstream changes but it was not successful. Waiting for him to fix the conflicts. Until then, this PR has the backup branch as base See: #54 |
760aeaf
to
4b05922
Compare
Performed a rebase using the latest upstream changes. Tests will pass once #54 is merged |
Update the PR with the almost final form, once the go-cruise-control lib will have an adobe fork. Assuming all the tests will pass, the only thing that has to be changed is the go.mod version for the lib. Until the fork is done, I made the following PR in my personal repo (the code is based on these changes): alex-necula/go-cruise-control#1 This PR has the following blockers:
|
a8152ca
to
971cd92
Compare
Rebased the branch and added local replacement instead of renaming the go-cruise-control lib |
PR is fully tested with adobe/cruise-control#12 and ready for review. |
049aee3
to
53dcc48
Compare
* Implement disk removal feature --------- Co-authored-by: Alex Necula <anecula@adobe.com>
* Implement disk removal feature --------- Co-authored-by: Alex Necula <anecula@adobe.com>
* Implement disk removal feature --------- Co-authored-by: Alex Necula <anecula@adobe.com>
* Implement disk removal feature --------- Co-authored-by: Alex Necula <anecula@adobe.com>
* Implement disk removal feature --------- Co-authored-by: Alex Necula <anecula@adobe.com>
What's in this PR?
This PR adds the disk removal functionality. It is based on Cruise Control's new Disk Removal endpoint: adobe/cruise-control#12
The following logic is followed, in a successful scenario:
The following logic is followed, in a failure scenario:
Why?
Previously, disk removal was blocked because there was a risk of data loss. Therefore, disk downscale was not possible, incurring additional costs for unused disks, that were upscaled in the past.
Additional context
This PR was tested locally using kind.
During the time between the disk removal starts and the moment the rolling upgrade is performed, Kafka may assign new topics to the removed disks. This presents a potential data loss risk, but I am not aware of methods that would mitigate this risk. During the downscale, users should be informed not to create new topics.
cc @ilievladiulian
Checklist
To Do