TransportClient timeout / webserver configuration - JAVA Api


(roblangenfeld) #1

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.

--
View this message in context: http://elasticsearch-users.115913.n3.nabble.com/TransportClient-timeout-webserver-configuration-JAVA-Api-tp4051428.html
Sent from the ElasticSearch Users mailing list archive at Nabble.com.

--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/1394459022952-4051428.post%40n3.nabble.com.
For more options, visit https://groups.google.com/d/optout.


(Alexander Reelsen) #2

Hey,

can you create a github issue about this? An NPE should not happen. Please
provide as much information as possible about your setup (see
http://www.elasticsearch.org/help) like es version, operating system, your
elasticsearch setup etc...
Thanks a lot!

--Alex

On Mon, Mar 10, 2014 at 2:43 PM, roblangenfeld roblangenfeld@gmail.comwrote:

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.

--
View this message in context:
http://elasticsearch-users.115913.n3.nabble.com/TransportClient-timeout-webserver-configuration-JAVA-Api-tp4051428.html
Sent from the ElasticSearch Users mailing list archive at Nabble.com.

--
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.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/1394459022952-4051428.post%40n3.nabble.com
.
For more options, visit 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.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAGCwEM8c9c1m9LiFEFygWpADAQywyB7K3%2BHMSCT%3Dui4yUHppRg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


(roblangenfeld) #3

Hey Alex,

I created a github issue for this:

Robert

On Wednesday, March 12, 2014 5:05:08 AM UTC-5, Alexander Reelsen wrote:

Hey,

can you create a github issue about this? An NPE should not happen. Please
provide as much information as possible about your setup (see
http://www.elasticsearch.org/help) like es version, operating system,
your elasticsearch setup etc...
Thanks a lot!

--Alex

On Mon, Mar 10, 2014 at 2:43 PM, roblangenfeld <roblan...@gmail.com<javascript:>

wrote:

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.

--
View this message in context:
http://elasticsearch-users.115913.n3.nabble.com/TransportClient-timeout-webserver-configuration-JAVA-Api-tp4051428.html
Sent from the ElasticSearch Users mailing list archive at Nabble.com.

--
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 elasticsearc...@googlegroups.com <javascript:>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/1394459022952-4051428.post%40n3.nabble.com
.
For more options, visit 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.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/c37677c7-46b5-4f77-8a04-3a49da5fe414%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


(system) #4