# Transport client? really?

**URL:** <https://discuss.elastic.co/t/transport-client-really/19118>\
**Category:** Elasticsearch\
**Created:** [August 6, 2014, 2:07pm UTC](https://discuss.elastic.co/t/transport-client-really/19118 "2014-08-06T14:07:38Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Luis\_Garcia\_Acosta](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/luis_garcia_acosta/32/1266_2.png) [@Luis\_Garcia\_Acosta](https://discuss.elastic.co/u/Luis_Garcia_Acosta)\
**Post date:** [August 6, 2014, 2:07pm UTC](https://discuss.elastic.co/t/transport-client-really/19118/1 "2014-08-06T14:07:38Z")

</div>

Hi Folk,

The question is, what client are you using out there?

Here at company X we have java applications using elasticsearch. We have  
many java applications, different java applications and they use the  
transport client. This decision was made for developers, given the ease of  
use that the transport client provides. BUT, for upgrading elasticsearch  
this is a pain in the ass, because every time we upgrade the cluster, the  
transport client has to be upgraded, and this is a maneuver hard to  
orchestrate with a cero downtime (we have to redeploy many applications  
with the newest transport client).

Is there anyone out there familiar with this situation? what are you using?

Thanks

L

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/4f046673-6999-4f78-abbc-1a103484073d%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/4f046673-6999-4f78-abbc-1a103484073d%40googlegroups.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<div class="post-metadata">

**Author:** ![brian\_yoder](https://avatars.discourse-cdn.com/v4/letter/b/f1d935/32.png) [@brian\_yoder](https://discuss.elastic.co/u/brian_yoder)\
**Post date:** [August 6, 2014, 3:47pm UTC](https://discuss.elastic.co/t/transport-client-really/19118/2 "2014-08-06T15:47:51Z")

</div>

Here is my experience. Yours may vary.

I also use the TransportClient. And then I wrap our business rules behind  
another server that offers an HTTP REST API but talks to Elasticsearch on  
the back end via the TransportClient. This server uses Netty and the LMAX  
Disruptor to provide low-resource high-throughput processing; it is  
somewhat like Node.js but in Java instead of JavaScript.

Then I have a bevy of command-line maintenance and test tools that also use  
the TransportClient. I wrap them inside a shell script (for example,  
Foobar.main is wrapped inside foobar.sh) and convert command-line options  
(such as -t person) into Java properties (such as TypeName=person), and  
also set the classpath to all of the Elasticsearch jars plus all of mine.

Whenever there is a compelling change to Elasticsearch, I upgrade, and many  
times I have watched my Java builds fail with all of the breaking changes.  
But even with the worst of the breaking changes, it was down for maybe a  
day or two at the most; the API is rather clean, and this newsgroup is a  
life saver, and so I never got stuck. And when I was done, I had learned  
even more about the ES Java API.

So it's either a huge pain or it's the joy of learning, depending on your  
point of view. I have always viewed it as the joy of learning.

I just wish the Facets-to-Aggregations migration was smoother. But I sense  
that there will be another breaking change on my horizon. This will be  
particularly sad for me, as I had implemented a rather nice hierarchical  
term frequency combining mvel and facets. Which are now deprecated and on  
the list to be removed. But again, I'll learn a lot when making the  
migration.

I believe it was Thomas Edison who said that most people miss opportunities  
because the opportunities come dressed in overalls and look like work. But  
I digress.... 🙂

Brian

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/40a95f8f-e616-4086-837e-071539078fd4%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/40a95f8f-e616-4086-837e-071539078fd4%40googlegroups.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<div class="post-metadata">

**Author:** ![Ivan](https://avatars.discourse-cdn.com/v4/letter/i/df788c/32.png) [@Ivan](https://discuss.elastic.co/u/Ivan)\
**Post date:** [August 6, 2014, 4:45pm UTC](https://discuss.elastic.co/t/transport-client-really/19118/3 "2014-08-06T16:45:45Z")

</div>

Since version 1.0, there should be fewer binary protocol issues between any  
nodes, including the clients, making rolling upgrades doable. Older clients  
should be able to interact with newer server nodes, but the inverse is not  
always the case.

--  
Ivan

On Wed, Aug 6, 2014 at 8:47 AM, Brian [brian.from.fl@gmail.com](mailto:brian.from.fl@gmail.com) wrote:

> Here is my experience. Yours may vary.
> 
> I also use the TransportClient. And then I wrap our business rules behind  
> another server that offers an HTTP REST API but talks to Elasticsearch on  
> the back end via the TransportClient. This server uses Netty and the LMAX  
> Disruptor to provide low-resource high-throughput processing; it is  
> somewhat like Node.js but in Java instead of JavaScript.
> 
> Then I have a bevy of command-line maintenance and test tools that also  
> use the TransportClient. I wrap them inside a shell script (for example,  
> Foobar.main is wrapped inside foobar.sh) and convert command-line options  
> (such as -t person) into Java properties (such as TypeName=person), and  
> also set the classpath to all of the Elasticsearch jars plus all of mine.
> 
> Whenever there is a compelling change to Elasticsearch, I upgrade, and  
> many times I have watched my Java builds fail with all of the breaking  
> changes. But even with the worst of the breaking changes, it was down for  
> maybe a day or two at the most; the API is rather clean, and this newsgroup  
> is a life saver, and so I never got stuck. And when I was done, I had  
> learned even more about the ES Java API.
> 
> So it's either a huge pain or it's the joy of learning, depending on your  
> point of view. I have always viewed it as the joy of learning.
> 
> I just wish the Facets-to-Aggregations migration was smoother. But I sense  
> that there will be another breaking change on my horizon. This will be  
> particularly sad for me, as I had implemented a rather nice hierarchical  
> term frequency combining mvel and facets. Which are now deprecated and on  
> the list to be removed. But again, I'll learn a lot when making the  
> migration.
> 
> I believe it was Thomas Edison who said that most people miss  
> opportunities because the opportunities come dressed in overalls and look  
> like work. But I digress.... 🙂
> 
> Brian
> 
> --  
> You received this message because you are subscribed to the Google Groups  
> "elasticsearch" group.  
> To unsubscribe from this group and stop receiving emails from it, send an  
> email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> To view this discussion on the web visit  
> [https://groups.google.com/d/msgid/elasticsearch/40a95f8f-e616-4086-837e-071539078fd4%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/40a95f8f-e616-4086-837e-071539078fd4%40googlegroups.com)  
> [https://groups.google.com/d/msgid/elasticsearch/40a95f8f-e616-4086-837e-071539078fd4%40googlegroups.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/40a95f8f-e616-4086-837e-071539078fd4%40googlegroups.com?utm_medium=email&utm_source=footer)  
> .
> 
> For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/CALY%3DcQAhmHp%3DiszaaEXjYq4B%2B0HBbNvpkdHAgmphE%3D6GvR%3DKiw%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CALY%3DcQAhmHp%3DiszaaEXjYq4B%2B0HBbNvpkdHAgmphE%3D6GvR%3DKiw%40mail.gmail.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<div class="post-metadata">

**Author:** ![Luis\_Garcia\_Acosta](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/luis_garcia_acosta/32/1266_2.png) [@Luis\_Garcia\_Acosta](https://discuss.elastic.co/u/Luis_Garcia_Acosta)\
**Post date:** [August 7, 2014, 1:31pm UTC](https://discuss.elastic.co/t/transport-client-really/19118/4 "2014-08-07T13:31:58Z")

</div>

I hope your 2 days of downtime is in a testing environment :). This sounds like something really great to me, and somehow it was also spinning in my skull. Did you make this from bottom to top, or you got some starting point (opensource project or so ...), any place I could look at for more ideas on how to implement it?

Thanks very much

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/895cdadc-f097-4ce7-a425-83817eda57ef%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/895cdadc-f097-4ce7-a425-83817eda57ef%40googlegroups.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<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:** [July 6, 2017, 1:10am UTC](https://discuss.elastic.co/t/transport-client-really/19118/5 "2017-07-06T01:10:10Z")

</div>


