Thank you for the comment, according to the source, it seems you are right.
I will try a converse test 在 2014年7月14日星期一UTC+9下午6时36分03秒,Jörg Prante写道: > > You can not connect a newer TransportClient to a server which is older. > You can connect an older TransportClient to a newer server (without being > able to use new features). > > Jörg > > > On Mon, Jul 14, 2014 at 10:36 AM, xzer LR <[email protected] <javascript:>> > wrote: > >> I think I got the reason. >> >> At first, I noticed that the row number from the exception stack is not >> compatible to the client 1.2.2 source, then it exactly occurred at the old >> version 1.0.3 server side. >> >> Then the service side exception told us that it failed from reading the >> last string array: >> >> >> https://github.com/elasticsearch/elasticsearch/blob/1.0/src/main/java/org/elasticsearch/action/admin/cluster/state/ClusterStateRequest.java#L132 >> >> I recognized that the real problem is the client size did not check the >> version correctly, then I digged the source more deeply, then I found the >> following row which seems wrong: >> >> >> https://github.com/elasticsearch/elasticsearch/blob/1.0/src/main/java/org/elasticsearch/client/transport/TransportClientNodesService.java#L164 >> >> DiscoveryNode node = new DiscoveryNode("#transport#-" + >> tempNodeIdGenerator.incrementAndGet(), transportAddress, version); >> >> *The nodes passed to construct the transport client are simply >> initialized as the current client version.* >> >> I have no idea how to fix it but it seems that it should be reported as a >> bug? >> >> >> >> >> >> 在 2014年7月12日星期六UTC+9上午4时29分01秒,Ivan Brusic写道: >>> >>> The code is suspicious since it has an explicit check for versions prior >>> to 1.2 >>> >>> https://github.com/elasticsearch/elasticsearch/ >>> blob/master/src/main/java/org/elasticsearch/action/admin/cluster/state/ >>> ClusterStateRequest.java#L121-L124 >>> >>> Don't know much else about the code to comment further. >>> >>> Cheers, >>> >>> Ivan >>> >>> >>> On Fri, Jul 11, 2014 at 3:30 AM, xzer LR <[email protected]> wrote: >>> >>>> I am using TransportClient, the following is how I retrieve the client >>>> instance: >>>> >>>> Client client = new TransportClient(sb.build()).addTransportAddresses( >>>> esAddresses); >>>> >>>> 在 2014年7月11日星期五UTC+9下午6时51分26秒,David Pilato写道: >>>>> >>>>> Are you using a TransportClient or NodeClient? >>>>> If NodeClient, could you try with the TransportClient? >>>>> >>>>> -- >>>>> *David Pilato* | *Technical Advocate* | *Elasticsearch.com* >>>>> @dadoonet <https://twitter.com/dadoonet> | @elasticsearchfr >>>>> <https://twitter.com/elasticsearchfr> >>>>> >>>>> >>>>> Le 11 juillet 2014 à 11:14:59, xzer LR ([email protected]) a écrit: >>>>> >>>>> As a test result, I got exceptions when I tried to use the newest >>>>> 1.2.2 java client to connect to a 1.0.3 cluster: >>>>> >>>>> 18:05:41.020 [elasticsearch[Slipstream][tra >>>>> nsport_client_worker][T#1]{New I/O worker #1}] [INFO ] [] >>>>> org.elasticsearch.client.transport[105] - [Slipstream] failed to get >>>>> local cluster state for >>>>> [#transport#-1][e-note][inet[/192.168.200.81:9300]], >>>>> disconnecting... >>>>> org.elasticsearch.transport.RemoteTransportException: >>>>> [server-cat][inet[/192.168.21.81:9300]][cluster/state] >>>>> java.lang.IndexOutOfBoundsException: Readable byte limit exceeded: 48 >>>>> at org.elasticsearch.common.netty.buffer.AbstractChannelBuffer. >>>>> readByte(AbstractChannelBuffer.java:236) ~[elasticsearch-1.2.2.jar:na] >>>>> at org.elasticsearch.transport.netty.ChannelBufferStreamInput.r >>>>> eadByte(ChannelBufferStreamInput.java:132) >>>>> ~[elasticsearch-1.2.2.jar:na] >>>>> at >>>>> org.elasticsearch.common.io.stream.StreamInput.readVInt(StreamInput.java:141) >>>>> >>>>> ~[elasticsearch-1.2.2.jar:na] >>>>> at >>>>> org.elasticsearch.common.io.stream.StreamInput.readString(StreamInput.java:272) >>>>> >>>>> ~[elasticsearch-1.2.2.jar:na] >>>>> at org.elasticsearch.common.io.stream.HandlesStreamInput.readSt >>>>> ring(HandlesStreamInput.java:61) ~[elasticsearch-1.2.2.jar:na] >>>>> at org.elasticsearch.common.io.stream.StreamInput.readStringArr >>>>> ay(StreamInput.java:362) ~[elasticsearch-1.2.2.jar:na] >>>>> at org.elasticsearch.action.admin.cluster.state.ClusterStateReq >>>>> uest.readFrom(ClusterStateRequest.java:132) >>>>> ~[elasticsearch-1.2.2.jar:na] >>>>> at org.elasticsearch.transport.netty.MessageChannelHandler.hand >>>>> leRequest(MessageChannelHandler.java:209) >>>>> ~[elasticsearch-1.2.2.jar:na] >>>>> at org.elasticsearch.transport.netty.MessageChannelHandler.mess >>>>> ageReceived(MessageChannelHandler.java:109) >>>>> ~[elasticsearch-1.2.2.jar:na] >>>>> >>>>> I didn't find any metioned break change about this exceptioin. >>>>> >>>>> 在 2014年7月4日星期五UTC+9下午3时31分07秒,David Pilato写道: >>>>>> >>>>>> Well. It depends. >>>>>> >>>>>> 1.0 is incompatible with 0.90 >>>>>> 1.2 should work with 1.x IIRC. >>>>>> >>>>>> From 1.0, we try to keep this compatible. If not, release notes will >>>>>> tell you. >>>>>> >>>>>> -- >>>>>> David ;-) >>>>>> Twitter : @dadoonet / @elasticsearchfr / @scrutmydocs >>>>>> >>>>>> >>>>>> Le 4 juil. 2014 à 07:09, xzer LR <[email protected]> a écrit : >>>>>> >>>>>> For some reasons, we have several separated elasticsearch clusters >>>>>> for our front applicaitons. We want to upgrade our clusters' version to >>>>>> the >>>>>> newest version but apparently it is impossible to upgrade all the >>>>>> clusters >>>>>> at the same time, which means our single application have to connect to >>>>>> multiple clusters with different versions. >>>>>> >>>>>> My question is whether the elasticsearch java client has the ability >>>>>> to work correctly with an old version server? >>>>>> -- >>>>>> 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 [email protected]. >>>>>> To view this discussion on the web visit https://groups.google.com/d/ >>>>>> msgid/elasticsearch/baa98ec5-ffcf-46f9-bfdd-7afbd213b19d%40goo >>>>>> glegroups.com >>>>>> <https://groups.google.com/d/msgid/elasticsearch/baa98ec5-ffcf-46f9-bfdd-7afbd213b19d%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> 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 [email protected]. >>>>> To view this discussion on the web visit https://groups.google.com/d/ >>>>> msgid/elasticsearch/77e32825-812a-46c8-82b4-93a5e4b12788%40goo >>>>> glegroups.com >>>>> <https://groups.google.com/d/msgid/elasticsearch/77e32825-812a-46c8-82b4-93a5e4b12788%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> 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 [email protected]. >>>> To view this discussion on the web visit https://groups.google.com/d/ >>>> msgid/elasticsearch/df3afd7e-b0a5-4d26-a777-fc887427bbed% >>>> 40googlegroups.com >>>> <https://groups.google.com/d/msgid/elasticsearch/df3afd7e-b0a5-4d26-a777-fc887427bbed%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>>> 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 [email protected] <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/elasticsearch/86ad8e40-fae6-4581-9972-4c68a0db9d37%40googlegroups.com >> >> <https://groups.google.com/d/msgid/elasticsearch/86ad8e40-fae6-4581-9972-4c68a0db9d37%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/060d9aac-793a-40f9-8e78-5400537cc310%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
