Closed yogarajbaskaravel closed 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.
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.
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.