Can not connect to two different version clusters using transport client


(spancer ray) #1

Hi Guys,

I'm now using java transport client to connect two clusters in different versions. One is 0.90.0 (on remote server), the other is 1.0.0.Beta1 (set up on my local machine). And my client ES version is 0.90.0. It seems the client es version has to match the server's, so I can't connect to them at the same time (No node available). Now I'm trying to migrate data from 0.90.0 to 1.0.0Beta1 for some new features' test. Blocked here.

Can anyone help? BTW, two clusters hold different cluster names.

Exception message:

12:47:14,758 INFO transport:119 - [Sunfire] failed to get node info for [#transport#-1][inet[/127.0.0.1:9300]], disconnecting...
org.elasticsearch.transport.RemoteTransportException: [Jeffries, Madison][inet[/127.0.0.1:9300]][]
Caused by: org.elasticsearch.transport.ActionNotFoundTransportException: No handler for action []
at org.elasticsearch.transport.netty.MessageChannelHandler.handleRequest(MessageChannelHandler.java:206)
at org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:109)
at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:296)
at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)
at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443)
at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:74)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:268)
at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:255)
at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:109)
at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312)
at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:90)
at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
at org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
at org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
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:724)
Exception in thread "main" org.elasticsearch.client.transport.NoNodeAvailableException: No node available
at org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:205)
at org.elasticsearch.client.transport.support.InternalTransportClient.execute(InternalTransportClient.java:106)
at org.elasticsearch.client.support.AbstractClient.bulk(AbstractClient.java:149)
at org.elasticsearch.client.transport.TransportClient.bulk(TransportClient.java:345)
at org.elasticsearch.action.bulk.BulkProcessor.execute(BulkProcessor.java:286)
at org.elasticsearch.action.bulk.BulkProcessor.executeIfNeeded(BulkProcessor.java:260)
at org.elasticsearch.action.bulk.BulkProcessor.internalAdd(BulkProcessor.java:240)
at org.elasticsearch.action.bulk.BulkProcessor.add(BulkProcessor.java:234)
at org.elasticsearch.action.bulk.BulkProcessor.add(BulkProcessor.java:230)
at org.elasticsearch.action.bulk.BulkProcessor.add(BulkProcessor.java:216)

Thanks,
Spancer


(David Pilato) #2

You should update your client to latest (1.0.0). It could work with some 0.90.x versions (not sure for 0.90.0 though).

If you don't want to Check cluster name , set:

client.transport.ignore_cluster_name

See http://www.elasticsearch.org/guide/en/elasticsearch/client/java-api/current/client.html#transport-client

--
David :wink:
Twitter : @dadoonet / @elasticsearchfr / @scrutmydocs

Le 12 nov. 2013 à 05:51, spancer ray spancer.roc.ray@gmail.com a écrit :

Hi Guys,

I'm now using java transport client to connect two clusters in different
versions. One is 0.90.0 (on remote server), the other is 1.0.0.Beta1 (set up
on my local machine). And my client ES version is 0.90.0. It seems the
client es version has to match the server's, so I can't connect to them at
the same time. Now I'm trying to migrate data from 0.90.0 to 1.0.0Beta1 for
some new features' test. Blocked here.

Can anyone help? BTW, two clusters hold different cluster names.

Thanks,
Spancer

--
View this message in context: http://elasticsearch-users.115913.n3.nabble.com/connect-to-two-different-version-clusters-using-transport-client-tp4044126.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.
For more options, visit https://groups.google.com/groups/opt_out.

--
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.


(spancer ray) #3

Thanks, David, I tried on windows but failed. Goona try on linux.

Spancer


(system) #4