Rolling upgrade from v5.6 to v6.8

Hi guys,
I read the documentation regarding the rolling upgrade procedure that could be used to do not interrupt service.
In my cluster, I have this situation:

3 master nodes
12 data nodes
2 coordinating only nodes
2 kibana
2 logstash

Leaving aside KB and LS nodes, can you said to me the correct order to upgrade Elasticsearch's nodes?
I mean, should I upgrade all the master nodes and then the data? and coordinating only?

Have you seen our Rolling Upgrade guide? It describes that upgrade sequence in general and also has a link to issues related to 5.6-6.8 upgrade in particular.

Hi @Igor_Motov, I already read those article. My doubt was just related to the correct order.
If I update the master nodes at the beginning, I will have MASTER with v.6.8 and DATA with v.5.6.x. So, customers will be still able to access documents or not?
And after that, when I will start to upgrade DATA nodes, is it ok to have a hybrid situation (5.6.x and 6.8.x both)?

That's the whole idea of rolling restart instead of full cluster restart, isn't it?

Yes, as long as it is a temporary situation. There are some limitations on shard allocation in these mixed clusters, so you shouldn't leave it like this for a prolonged period of time.

I suppose that all I have to do is to try :slight_smile:

thanks!

Do. Or do not. There is no try.

Just kidding. That is one of the scenarios that we testing for in every build. However, it is always a good idea to test this in a test environment before doing it in production, just to make sure that you don't have any client code that is not compatible with 6.x. Once a node is upgraded to 6.8, it cannot be downgraded to 5.4. You will have to remove all data from the node and if you upgraded more than one node, the only way to go back is but cleaning the cluster and restoring everything from snapshots.