Hello,

I'm developing a tomcat webserver application that uses ElasticSearch 1.0 
(Java API). There is a client facing desktop application that communicates 
with the server so all the code for ElasticSearch is on that one instance 
and it is used by all our clients. With that being said I am running into 
this issue: After initializing a new TransportClient object and performing 
some operation on it, there is a chance that i could sit idle for a very 
long time. When does sit idle for a long time it gets this error:


Mar 08, 2014 1:15:37 AM org.elasticsearch.client.transport

INFO: [Elven] failed to get node info for 
[#transport#-1][WIN7-113-00726][inet[/159.140.213.87:9300]], 
disconnecting...

org.elasticsearch.transport.RemoteTransportException: 
[Server_Dev1][inet[/159.140.213.87:9300]][cluster/nodes/info]

Caused by: java.lang.NullPointerException

at org.elasticsearch.http.HttpInfo.writeTo(HttpInfo.java:82)

at 
org.elasticsearch.action.admin.cluster.node.info.NodeInfo.writeTo(NodeInfo.java:301)

at 
org.elasticsearch.action.admin.cluster.node.info.NodesInfoResponse.writeTo(NodesInfoResponse.java:63)

at 
org.elasticsearch.transport.netty.NettyTransportChannel.sendResponse(NettyTransportChannel.java:83)

at 
org.elasticsearch.action.support.nodes.TransportNodesOperationAction$TransportHandler$1.onResponse(TransportNodesOperationAction.java:244)

at 
org.elasticsearch.action.support.nodes.TransportNodesOperationAction$TransportHandler$1.onResponse(TransportNodesOperationAction.java:239)

at 
org.elasticsearch.action.support.nodes.TransportNodesOperationAction$AsyncAction.finishHim(TransportNodesOperationAction.java:225)

at 
org.elasticsearch.action.support.nodes.TransportNodesOperationAction$AsyncAction.onOperation(TransportNodesOperationAction.java:200)

at 
org.elasticsearch.action.support.nodes.TransportNodesOperationAction$AsyncAction.access$900(TransportNodesOperationAction.java:102)

at 
org.elasticsearch.action.support.nodes.TransportNodesOperationAction$AsyncAction$2.run(TransportNodesOperationAction.java:146)

at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

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

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

Is there any way to prevent this from happening? I know the ideal situation 
would be that after every request the transport client is closed. But since 
it lives on a webserver with lots of search requests coming in, we would 
ideally like it to stay open because it takes 3-4 seconds for a transport 
client to initialize and we are going for speed here.

Also since we are having one central server to handle all search and index 
requests, can the TransportClient handle multiple simultaneous requests 
from different users at the same time? We just want to make sure that we 
are doing this correctly.

-- 
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+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/cb489c01-1e1a-400f-8d46-95db9ba782e3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to