# Upgrading to ES5 and Java TransporClient

**URL:** <https://discuss.elastic.co/t/upgrading-to-es5-and-java-transporclient/102463>\
**Category:** Elasticsearch\
**Created:** [October 2, 2017, 6:19pm UTC](https://discuss.elastic.co/t/upgrading-to-es5-and-java-transporclient/102463 "2017-10-02T18:19:05Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![ibailak1](https://avatars.discourse-cdn.com/v4/letter/i/b5ac83/32.png) [@ibailak1](https://discuss.elastic.co/u/ibailak1)\
**Post date:** [October 2, 2017, 6:19pm UTC](https://discuss.elastic.co/t/upgrading-to-es5-and-java-transporclient/102463/1 "2017-10-02T18:19:05Z")

</div>

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!

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [October 2, 2017, 6:52pm UTC](https://discuss.elastic.co/t/upgrading-to-es5-and-java-transporclient/102463/2 "2017-10-02T18:52:24Z")

</div>

Only the low level rest client can do that IMO.

---

<div class="post-metadata">

**Author:** ![ibailak1](https://avatars.discourse-cdn.com/v4/letter/i/b5ac83/32.png) [@ibailak1](https://discuss.elastic.co/u/ibailak1)\
**Post date:** [October 3, 2017, 7:41pm UTC](https://discuss.elastic.co/t/upgrading-to-es5-and-java-transporclient/102463/3 "2017-10-03T19:41:08Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [October 3, 2017, 8:28pm UTC](https://discuss.elastic.co/t/upgrading-to-es5-and-java-transporclient/102463/4 "2017-10-03T20:28:40Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![ibailak1](https://avatars.discourse-cdn.com/v4/letter/i/b5ac83/32.png) [@ibailak1](https://discuss.elastic.co/u/ibailak1)\
**Post date:** [October 3, 2017, 8:55pm UTC](https://discuss.elastic.co/t/upgrading-to-es5-and-java-transporclient/102463/5 "2017-10-03T20:55:23Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [October 3, 2017, 9:14pm UTC](https://discuss.elastic.co/t/upgrading-to-es5-and-java-transporclient/102463/6 "2017-10-03T21:14:42Z")

</div>

Did you see this?

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

---

<div class="post-metadata">

**Author:** ![ibailak1](https://avatars.discourse-cdn.com/v4/letter/i/b5ac83/32.png) [@ibailak1](https://discuss.elastic.co/u/ibailak1)\
**Post date:** [October 3, 2017, 9:21pm UTC](https://discuss.elastic.co/t/upgrading-to-es5-and-java-transporclient/102463/7 "2017-10-03T21:21:29Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [October 4, 2017, 5:57am UTC](https://discuss.elastic.co/t/upgrading-to-es5-and-java-transporclient/102463/8 "2017-10-04T05:57:56Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [November 1, 2017, 5:58am UTC](https://discuss.elastic.co/t/upgrading-to-es5-and-java-transporclient/102463/9 "2017-11-01T05:58:02Z")

</div>

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