# TransportClient hangs when connecting to cluster

**URL:** <https://discuss.elastic.co/t/transportclient-hangs-when-connecting-to-cluster/5115>\
**Category:** Elasticsearch\
**Created:** [August 10, 2011, 2:08pm UTC](https://discuss.elastic.co/t/transportclient-hangs-when-connecting-to-cluster/5115 "2011-08-10T14:08:17Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Wojciech\_Durczynski](https://avatars.discourse-cdn.com/v4/letter/w/fbc32d/32.png) [@Wojciech\_Durczynski](https://discuss.elastic.co/u/Wojciech_Durczynski)\
**Post date:** [August 10, 2011, 2:08pm UTC](https://discuss.elastic.co/t/transportclient-hangs-when-connecting-to-cluster/5115/1 "2011-08-10T14:08:17Z")

</div>

Hello. I try to use TransportClient like this:

new  
TransportClient(ImmutableSettings.settingsBuilder().put("client.transport.sniff",  
false)).addTransportAddress(new InetSocketTransportAddress("127.0.0.1",  
9200))

It hangs on:  
java.lang.Thread.State: WAITING (parking)  
at sun.misc.Unsafe.park(Native Method)

- parking to wait for \<0x00007fa82be40710\> (a  
org.elasticsearch.common.util.concurrent.AbstractFuture$Sync)  
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)  
at  
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)  
at  
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:905)  
at  
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1217)  
at  
org.elasticsearch.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:249)  
at  
org.elasticsearch.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:78)  
at  
org.elasticsearch.transport.PlainTransportFuture.txGet(PlainTransportFuture.java:45)  
at  
org.elasticsearch.transport.PlainTransportFuture.txGet(PlainTransportFuture.java:35)  
at  
org.elasticsearch.client.transport.TransportClientNodesService$SimpleNodeSampler.sample(TransportClientNodesService.java:199)
- locked \<0x00007fa82b7007e8\> (a  
org.elasticsearch.client.transport.TransportClientNodesService$SimpleNodeSampler)  
at  
org.elasticsearch.client.transport.TransportClientNodesService.addTransportAddress(TransportClientNodesService.java:122)  
at  
org.elasticsearch.client.transport.TransportClient.addTransportAddress(TransportClient.java:200)

The same behaviour when client.transport.sniff is set to true, but then it  
hangs on:  
java.lang.Thread.State: WAITING (parking)  
at sun.misc.Unsafe.park(Native Method)

- parking to wait for \<0x00007f35a0967fa0\> (a  
java.util.concurrent.CountDownLatch$Sync)  
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)  
at  
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)  
at  
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:905)  
at  
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1217)  
at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:207)  
at  
org.elasticsearch.client.transport.TransportClientNodesService$SniffNodesSampler.sample(TransportClientNodesService.java:260)
- locked \<0x00007f35a03d7298\> (a  
org.elasticsearch.client.transport.TransportClientNodesService$SniffNodesSampler)  
at  
org.elasticsearch.client.transport.TransportClientNodesService.addTransportAddress(TransportClientNodesService.java:122)  
at  
org.elasticsearch.client.transport.TransportClient.addTransportAddress(TransportClient.java:200)

In my logs I have:  
[org.elasticsearch.threadpool] : [La Nuit] creating thread\_pool [cached],  
type [cached], keep\_alive [30s]  
[org.elasticsearch.threadpool] : [La Nuit] creating thread\_pool [index],  
type [cached], keep\_alive [5m]  
[org.elasticsearch.threadpool] : [La Nuit] creating thread\_pool [search],  
type [cached], keep\_alive [5m]  
[org.elasticsearch.threadpool] : [La Nuit] creating thread\_pool [percolate],  
type [cached], keep\_alive [5m]  
[org.elasticsearch.threadpool] : [La Nuit] creating thread\_pool  
[management], type [scaling], min [1], size [20], keep\_alive [5m]  
[org.elasticsearch.threadpool] : [La Nuit] creating thread\_pool [merge],  
type [scaling], min [1], size [20], keep\_alive [5m]  
[org.elasticsearch.threadpool] : [La Nuit] creating thread\_pool [snapshot],  
type [scaling], min [1], size [10], keep\_alive [5m]  
[org.elasticsearch.transport.netty] : [La Nuit] using worker\_count[4],  
port[9300-9400], bind\_host[null], publish\_host[null], compress[false],  
connect\_timeout[30s], connections\_per\_node[2/4/1]  
[org.elasticsearch.client.transport] : [La Nuit] node\_sampler\_interval[5s]  
[netty.channel.socket.nio.NioProviderMetadata] : Using the autodetected NIO  
constraint level: 0  
[org.elasticsearch.transport.netty] : [La Nuit] Connected to node  
[[#transport#-1][inet[/127.0.0.1:9200]]]

---

<div class="post-metadata">

**Author:** ![kimchy](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kimchy/32/44952_2.png) [@kimchy](https://discuss.elastic.co/u/kimchy)\
**Post date:** [August 10, 2011, 2:17pm UTC](https://discuss.elastic.co/t/transportclient-hangs-when-connecting-to-cluster/5115/2 "2011-08-10T14:17:46Z")

</div>

You are connecting to the HTTP port in this case, you need to connect to the  
transport port (9300). I tried chasing down why it hangs a few days ago and  
does not fail, need to delve down into the netty http parsing code.

2011/8/10 Wojciech Durczyński [wojciech.durczynski@comarch.com](mailto:wojciech.durczynski@comarch.com)

> Hello. I try to use TransportClient like this:
> 
> new  
> TransportClient(ImmutableSettings.settingsBuilder().put("client.transport.sniff",  
> false)).addTransportAddress(new InetSocketTransportAddress("127.0.0.1",  
> 9200))
> 
> It hangs on:  
> java.lang.Thread.State: WAITING (parking)  
> at sun.misc.Unsafe.park(Native Method)
> 
> - parking to wait for \<0x00007fa82be40710\> (a  
> org.elasticsearch.common.util.concurrent.AbstractFuture$Sync)  
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)  
> at  
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)  
> at  
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:905)  
> at  
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1217)  
> at  
> org.elasticsearch.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:249)  
> at  
> org.elasticsearch.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:78)  
> at  
> org.elasticsearch.transport.PlainTransportFuture.txGet(PlainTransportFuture.java:45)  
> at  
> org.elasticsearch.transport.PlainTransportFuture.txGet(PlainTransportFuture.java:35)  
> at  
> org.elasticsearch.client.transport.TransportClientNodesService$SimpleNodeSampler.sample(TransportClientNodesService.java:199)
> - locked \<0x00007fa82b7007e8\> (a  
> org.elasticsearch.client.transport.TransportClientNodesService$SimpleNodeSampler)  
> at  
> org.elasticsearch.client.transport.TransportClientNodesService.addTransportAddress(TransportClientNodesService.java:122)  
> at  
> org.elasticsearch.client.transport.TransportClient.addTransportAddress(TransportClient.java:200)
> 
> The same behaviour when client.transport.sniff is set to true, but then it  
> hangs on:  
> java.lang.Thread.State: WAITING (parking)  
> at sun.misc.Unsafe.park(Native Method)
> 
> - parking to wait for \<0x00007f35a0967fa0\> (a  
> java.util.concurrent.CountDownLatch$Sync)  
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)  
> at  
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)  
> at  
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:905)  
> at  
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1217)  
> at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:207)  
> at  
> org.elasticsearch.client.transport.TransportClientNodesService$SniffNodesSampler.sample(TransportClientNodesService.java:260)
> - locked \<0x00007f35a03d7298\> (a  
> org.elasticsearch.client.transport.TransportClientNodesService$SniffNodesSampler)  
> at  
> org.elasticsearch.client.transport.TransportClientNodesService.addTransportAddress(TransportClientNodesService.java:122)  
> at  
> org.elasticsearch.client.transport.TransportClient.addTransportAddress(TransportClient.java:200)
> 
> In my logs I have:  
> [org.elasticsearch.threadpool] : [La Nuit] creating thread\_pool [cached],  
> type [cached], keep\_alive [30s]  
> [org.elasticsearch.threadpool] : [La Nuit] creating thread\_pool [index],  
> type [cached], keep\_alive [5m]  
> [org.elasticsearch.threadpool] : [La Nuit] creating thread\_pool [search],  
> type [cached], keep\_alive [5m]  
> [org.elasticsearch.threadpool] : [La Nuit] creating thread\_pool  
> [percolate], type [cached], keep\_alive [5m]  
> [org.elasticsearch.threadpool] : [La Nuit] creating thread\_pool  
> [management], type [scaling], min [1], size [20], keep\_alive [5m]  
> [org.elasticsearch.threadpool] : [La Nuit] creating thread\_pool [merge],  
> type [scaling], min [1], size [20], keep\_alive [5m]  
> [org.elasticsearch.threadpool] : [La Nuit] creating thread\_pool [snapshot],  
> type [scaling], min [1], size [10], keep\_alive [5m]  
> [org.elasticsearch.transport.netty] : [La Nuit] using worker\_count[4],  
> port[9300-9400], bind\_host[null], publish\_host[null], compress[false],  
> connect\_timeout[30s], connections\_per\_node[2/4/1]  
> [org.elasticsearch.client.transport] : [La Nuit] node\_sampler\_interval[5s]  
> [netty.channel.socket.nio.NioProviderMetadata] : Using the autodetected NIO  
> constraint level: 0  
> [org.elasticsearch.transport.netty] : [La Nuit] Connected to node  
> [[#transport#-1][inet[/127.0.0.1:9200]]]

---

<div class="post-metadata">

**Author:** ![Wojciech\_Durczynski](https://avatars.discourse-cdn.com/v4/letter/w/fbc32d/32.png) [@Wojciech\_Durczynski](https://discuss.elastic.co/u/Wojciech_Durczynski)\
**Post date:** [August 10, 2011, 2:47pm UTC](https://discuss.elastic.co/t/transportclient-hangs-when-connecting-to-cluster/5115/3 "2011-08-10T14:47:00Z")

</div>

Thank you Shay. It worked 🙂  
Also I noticed that settings for TransportClient should contain  
"cluster.name". Without it TransportClient doesn't connect to cluster nodes  
with different cluster name than "elasticsearch".

---

<div class="post-metadata">

**Author:** ![kimchy](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kimchy/32/44952_2.png) [@kimchy](https://discuss.elastic.co/u/kimchy)\
**Post date:** [August 10, 2011, 2:49pm UTC](https://discuss.elastic.co/t/transportclient-hangs-when-connecting-to-cluster/5115/4 "2011-08-10T14:49:19Z")

</div>

Yes, if you use a different cluster name, then it needs to be configured in  
the transport client.

2011/8/10 Wojciech Durczyński [wojciech.durczynski@comarch.com](mailto:wojciech.durczynski@comarch.com)

> Thank you Shay. It worked 🙂  
> Also I noticed that settings for TransportClient should contain "  
> cluster.name". Without it TransportClient doesn't connect to cluster nodes  
> with different cluster name than "elasticsearch".

---

<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, 3:57am UTC](https://discuss.elastic.co/t/transportclient-hangs-when-connecting-to-cluster/5115/5 "2017-07-06T03:57:35Z")

</div>


