elasticSearch how to upgrade jvm?


I have an old production ES cluster, running OpenJdk6 and ES 1.0.0

I'd like to update the JVM to a newer one (Open-Jdk-7) - but when I tried to add a new machine with the newer JMV, I got issues with Exception Serialization.

how should I perform the JVM upgrade?
my ES clients are transport client - will this upgrade affect them as well?


upgrading the jdk from 1.6 to 1.7 cannot be done on a live cluster. you need to take the take the cluster down and restart each node with the newer jdk. That is because of serialization issues. We use our own serialization binary protocol, but for exception we rely on java standard serialization, hence why you ran into problems. Same goes for the transport client, as it uses the same binary protocol.

In general, it is strongly recommended that all of the nodes and java clients are on the same exact jdk version. There were at some point breaking changes to java serialization between minor jdk versions that could cause problems.

In the upcoming 5.0 version we won't use java serialization anymore for exceptions.

1.0.0 is quite an ancient version at this point, is there any chance you are going to upgrade to 2.x soon?


I'd live to upgrade to 2.x, but for that I need to upgrade the JVM first....

Perfect, one step at a time :wink: