arangodb
arangodb copied to clipboard
Reconfigure cluster
Problem
Currently when the starter gets a new feature (e.g. recent SSL addition) that result in additional/alternate settings in the server config files you have 2 options:
- Start all over
- Manually edit server config files.
I propose to add a option/procedure to reconfigure an existing cluster, without the need for manual config file editing.
Proposal
We add a trigger to starter, upon which, the starter:
- stops its servers
- re-generates config files for all servers
- restarts the servers.
The trigger can be any of:
- A signal (e.g. USR1, USR2)
- An HTTP request (e.g.
POST /reconfigure) - A command line option (
--reconfigure).
Effect
When a starter has reconfigured it servers, there may be a short time before all other starters in the clusters have done their reconfiguration (something the user would have to do manually). It is possible that servers cannot reach each other in that period. This is acceptable as long as nothing is permanently broken.
Possible enhancements / extensions
- Send a reconfigure trigger only to the master starter and let that broadcast it to all starters.
- Have an additional trigger (or flag on the trigger) to restart the starter. This enables you to update the starter (binary), call this additional trigger ensure that starter is using the latest configuration features.
@neunhoef @fceller please add your thoughts about this