The release notes for 0.8.3 state that “instead of the normal rolling update procedure, for this release you should update your Coordinator nodes before updating the overlord.” Is this the case when rolling a stack that is already running 0.8.3, or does this only apply when upgrading druid itself from 0.8.2 or lower? Is the change in rolling update procedure a one time change or should it be done this way for as long as we are on 0.8.3?
Thanks in advance!
That is hard to say.
Usually the rolling updates spoken about in the release notes only accommodate changes necessary to perform the update (ex: new jar versions and potentially some new or changed config options)
If you are doing a rolling restart of a 0.8.3 cluster with a config change, or a new release of an internal extension of yours, then the behavior of the update is going to depend a lot on what was changed.
If nothing was changed and you just want to restart the JVMs, then the order shouldn’t really matter as all nodes are designed to be able to be taken down (except the MiddleManager… which is getting better but will fail the Peons if it goes down and not configured for restorable tasks)
The reason for putting the coordinator first on the upgrade is that realtime-handoff-monitoring switched from ZK-based to Coordinator-based, and there was a new Coordinator endpoint added to support that. That endpoint needed to be available before realtime nodes and/or the indexing service were updated.
Once you cluster is fully on 0.8.3 then there is no need to restart the Coordinator first.