-
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
Expected v2 deprecation behavior in HA clusters #17009
Comments
Another option, proposals could be accepted but apply is rejected just like no space applier or corruption applier. |
rejecting apply would not stop the server ack commit index progress, this would give the client a false sense of HA if v3.5 is the leader. |
This is the |
It's less about HA, more about inconsistency if user ever aborted upgrade. etcd v3.6 already doesn't expose v2 API so there is no HA for it. The inconsistency happens if user reverted the upgrade then the member that was temporarily v3.6 would have the same data to one that stayed v3.5 all the time. cc @ahrtr |
|
This issue has been automatically marked as stale because it has not had recent activity. It will be closed after 21 days if no further activity occurs. Thank you for your contributions. |
We will cover this using document (tracked in etcd-io/website#926) and also v2store data checking tool (tracked in #18993) . @serathius do you have any comment? If no, can we close this ticket? |
What would you like to be added?
I would like to discuss how etcd v3.6 should behave with regards to v2 store API.
Background
v2 API was deprecated in etcd v3.4, but could be still used as long as you provided --enable-v2 flag. Didn't change in v3.5, however for v3.6 we are planning for total removal. Expected behavior is that when upgrading to v3.6, etcd will panic if there is any v2 data still left. More in #12913
User can do two things:
Problem
What happens if in HA clusters during upgrade/downgrade (v3.6 supports downgrade to v3.5), if user forgets that etcd v3.5 member still uses --enable-v2 and introduces a v2 change to cluster. This is worrying as a single member could take down whole cluster. Fixing this would require to reconfigure whole cluster to run with
--v2-deprecation=write-only-drop-data
Options:
Options rejected:
Why is this needed?
Want to make sure this is properly discussed, understood and documented.
The text was updated successfully, but these errors were encountered: