krig / koi

Cluster management software.
ISC License
10 stars 9 forks source link

Send maintenance mode configuration from elector to all nodes #7

Closed yogarajbaskaravel closed 7 years ago

yogarajbaskaravel commented 7 years ago

Maintenance mode configuration was sent as part of state update message. State update message is sent from elector node to runner nodes only. Hence, non-runner nodes is never updated with the new maintenance mode configuration. When a non-runner happens to become as an elector, it starts updating the old maintenance mode configuration to runners. So, the cluster gets out of maintenance mode. Fix is done to send maintenance mode configuration from elector to all cluster nodes as part of heartbeat messages.

yogarajbaskaravel commented 7 years ago

@krig Any ideas on how to make it backward compatible ? As it is now, upgrading one koi node to newer version will break the cluster and forces remaining nodes to be upgraded.

krig commented 7 years ago

Ah, no.. changes to the protocol aren't backwards compatible. I should have made the protocol more flexible. Right now any change will make it incompatible, but if it would send key/value pairs it would be possible to allow adding new values without breaking compatibility.