Trouble with TransportClient through ELB in front of 2-node cluster: getting NoNodeAvailableException and NodeDisconnectedException

We've been seeing mysterious issues with the TransportClient running
against ES 0.20.5. We have an AWS ELB in front of 2-node cluster. Only
the ELB hostname is added to the client startup without sniffing, and we
are setting elasticsearchSettings.put("client.transport.ping_timeout", "60s"),
which is quite a lot if you ask me. But, still seeing TransportClient
issues. The NoNodeAvailableException due to timing out, we put a bandaid
on by setting the ping_timeout to 60s... But the latest exception is simply
NodeDisconnectedException. All of this is happening in PROD, so we're
trying to resolve this as timely as possible. Would really appreciate any
ideas. So far, I think the AWS ELB might be the problem, but removing
TransportClient and using something like JEST is also on the table. Please
pitch in ideas!

LATEST:

Caused by: org.elasticsearch.transport.NodeDisconnectedException: [][inet[
internal-ocho-prodB-elasticsearch-234234234.us-west-2.elb.amazonaws.com/XX.X.X.XXX:9300]][indices/refreshhttp://internal-ocho-prodb-elasticsearch-993270121.us-west-2.elb.amazonaws.com/10.0.0.235:9300]][indices/refresh]
disconnected

EARLY-ON HEADACHE (Why would 5 seconds not be enough???) :

2013-05-01 17:04:13.344 [elasticsearch[John Walker][generic][T#1]] INFO
org.elasticsearch.client.transport - [John Walker] failed to get node info
for [#transport#-1][inet[
ocho-prdB-elasticsearch01.us-west-2b.XXXXXXXXXXXXXXXXX.com/:9300]http://ocho-prdb-elasticsearch01.us-west-2b.demandforce.com/10.0.1.72:9300]],
disconnecting...

org.elasticsearch.transport.ReceiveTimeoutTransportException: [][inet[
ocho-prdB-elasticsearch01XXXXXXXXXXXXXX.com/:9300]][cluster/nodes/infohttp://ocho-prdb-elasticsearch01.us-west-2b.demandforce.com/10.0.1.72:9300]][cluster/nodes/info]
request_id [38904] timed out after [5013ms]

at
org.elasticsearch.transport.TransportService$TimeoutHandler.run(TransportService.java:342)
~[es-migration-1.8.178.jar:?]

at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[?:1.6.0_33]

at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[?:1.6.0_33]

at java.lang.Thread.run(Thread.java:662) [?:1.6.0_33]

Exception in thread "main"
org.elasticsearch.client.transport.NoNodeAvailableException: No node
available

at
org.elasticsearch.client.transport.TransportClientNodesService$RetryListener.onFailure(TransportClientNodesService.java:246)

at
org.elasticsearch.action.TransportActionNodeProxy$1.handleException(TransportActionNodeProxy.java:84)

at
org.elasticsearch.transport.TransportService$Adapter$2$1.run(TransportService.java:305)

at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

at java.lang.Thread.run(Thread.java:662)

--
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.
For more options, visit https://groups.google.com/groups/opt_out.