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

Introduce initial_machine_version server config. #498

Merged
merged 1 commit into from
Jan 13, 2025

Conversation

kjnilsson
Copy link
Contributor

@kjnilsson kjnilsson commented Jan 10, 2025

This new key can be used to specify the initial machine version
a new Ra server should be initialised against.

This allows machines to skip old versions when creating a new
Ra cluster. This is particularly useful when machine_version_strategy=all
as the initial machine upgrade upgrade after cluster creation is delayed until
all members reply to the info requests.

If the machine_version_strategy=all, starting a server with
an initial machine version that is higher than the locally available
machine version will result in an error: {error, invalid_initial_machine_version}.

When machine_version_strategy=quorum the initial machine version
will be clamped to the locally available machine version.

Fixes #497

@kjnilsson kjnilsson requested a review from dumbbell January 10, 2025 09:44
@kjnilsson kjnilsson added this to the 2.16.0 milestone Jan 10, 2025
src/ra_machine.erl Show resolved Hide resolved
src/ra_server.erl Show resolved Hide resolved
@kjnilsson kjnilsson force-pushed the initial-machine-version branch 2 times, most recently from 0559967 to 25d1144 Compare January 10, 2025 12:16
@kjnilsson kjnilsson force-pushed the initial-machine-version branch 2 times, most recently from 0452121 to 8588a54 Compare January 13, 2025 11:07
This new key can be used to specify the initial machine version
a new Ra server should be initialised against.

This allows machines to skip old versions when creating a new
Ra cluster.  This is particularly useful when machine_version_strategy=all
as the initial machine upgrade upgrade after cluster creation is delayed until
all members reply to the info requests.

If the machine_version_strategy=all, starting a server with
an initial machine version that is higher than the locally available
machine version will result in an error: {error, invalid_initial_machine_version}.

When machine_version_strategy=quorum the initial machine version
will be clamped to the locally available machine version.
@kjnilsson kjnilsson force-pushed the initial-machine-version branch from 8588a54 to 8077b75 Compare January 13, 2025 11:15
@kjnilsson kjnilsson merged commit 59e33b5 into main Jan 13, 2025
6 checks passed
@dumbbell dumbbell deleted the initial-machine-version branch January 13, 2025 14:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow the initial machine version to be passed as config
2 participants