-
Notifications
You must be signed in to change notification settings - Fork 9.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
Allowed member version when cluster is downgrading #11385
Comments
Thanks for doing this @YoyinZyc I hope to review your work soon. |
We should start with the simplest implementation. Just allow one version lower than the current cluster version, which is agreed in quorum. Then, we don't need worry about having 3 minor versions in the same cluster. We can handle other edge cases later. |
In most cases, the downgrade would not overlap with upgrade operation. So, let's not worry about the cluster version skew greater than 1. It can be only one version difference, either upgrade or downgrade. |
I think the current approach (allow 1 minor version difference) is fine. |
I agree with approach 1, only allowing 1 minor version lower. That's the policy for now, and it makes sense the code agree with the policy. If the corner case is not so corner in future, we could change the policy. But we shouldn't worry too much about it now. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
It is a trade-off between the two approaches above. For regular condition that all members in the cluster have same local version, it allows server to crash and restart itself. However, it doesn't work if the cluster has mix version members. For example, for a cluster {3.4, 3.5, 3.6}. The cluster version is 3.4 and we want it to downgrade to 3.3. If 3.5 crashes, it cannot restart itself as 3.5.
I use this approach currently in Etcd Cluster Downgrade #11362
Which policy do you think is better? Is there any other corner case we need to take care?
@wenjiaswe @jingyih @gyuho @hexfusion
The text was updated successfully, but these errors were encountered: