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

Recovery via peers.json doesn't work with Raft protocol version 3 #3003

Closed
slackpad opened this issue May 4, 2017 · 0 comments
Closed

Recovery via peers.json doesn't work with Raft protocol version 3 #3003

slackpad opened this issue May 4, 2017 · 0 comments
Assignees
Labels
type/bug Feature does not function as expected

Comments

@slackpad
Copy link
Contributor

slackpad commented May 4, 2017

In #1580 we realized that the peers.json recovery process doesn't work when servers are running with the Raft protocol set to 3 because there's no way to set the UUID of the server. In Consul 0.8.x, the Raft protocol defaults to 2, so this only affects users who are enabling the newer protocol to get advanced Autopilot features.

Need to verify this but it should be possible to recover with peers.json by also setting the Raft protocol back to 2 on all servers during recovery, but this isn't ideal. We need to come up with a solution to recover with UUIDs.

Since peers.json is just a list of strings, we could support something like uuid/ip:port for the format, so we can support the same basic form, and default to uuid to ip:port if it's not supplied (that's what the parser does today). Consul would need to perform some checks when restoring to make this more robust with respect to the current protocol version. We'd want to insist on the full form with uuid supplied if protocol version 3 was in use.

@slackpad slackpad added the type/bug Feature does not function as expected label May 4, 2017
@slackpad slackpad changed the title Recovery with peers.json doesn't work with Raft protocol version 3 Recovery via peers.json doesn't work with Raft protocol version 3 May 4, 2017
@slackpad slackpad self-assigned this May 5, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/bug Feature does not function as expected
Projects
None yet
Development

No branches or pull requests

1 participant