Upgrading to ES5 and Java TransporClient

Hi,

I had a cluster in ES2 for a while, now finally we are ready to upgrade it to ES5 but I have some concerns, many applications are querying this cluster using the Java Client all the time, since many applications rely on the data in this cluster we need to first upgrade the code in those applications and then upgrade the cluster, this could be a process of some weeks.

Is there a compatible way of doing this? I tried the TransportClient in ES5 but it's not compatible to query ES2 cluster, and I tried the REST high level client but the query performance is much worse than the TransporClient.

Any suggestions?

Thanks!

Only the low level rest client can do that IMO.

Actually the high level rest client (5.6.2) can do it as well, at the beginning I thought the performance was bad, but it's actually pretty decent. I can use scroll search and bulk indexing so far with no problem.

It depends on the API you are using indeed.
But there is no guarantee that 5.x client will work with 2.x or 6.x cluster.

The search api for client 6.0 does not work with 5.x clusters.

I tried 6.0 as well and it doesn't work indeed, but 5.6.2 high rest client works with 2.4.4 cluster as far as I can see. I will test this more of course, and if anyone knows about any incompatibility I'll be more than happy to hear about.

Did you see this?

https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-high-compatibility.html

Yes, that's the whole point of my first message, in theory it's not supported but I already converted two of my applications, one does searchScroll and the other one bulk indexing, and I don't have problems so far.

Yeah. Bulk works well. Also using it with 2.x, 5.x and 6.x.
The only non working api I’ve seen so far is search.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.