# Exceptions

**URL:** <https://discuss.elastic.co/t/exceptions/6998>\
**Category:** Elasticsearch\
**Created:** [March 14, 2012, 2:16pm UTC](https://discuss.elastic.co/t/exceptions/6998 "2012-03-14T14:16:47Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![thinusp](https://avatars.discourse-cdn.com/v4/letter/t/da6949/32.png) [@thinusp](https://discuss.elastic.co/u/thinusp)\
**Post date:** [March 14, 2012, 2:16pm UTC](https://discuss.elastic.co/t/exceptions/6998/1 "2012-03-14T14:16:47Z")

</div>

I seem to be unable to get exceptions from the Transport Client, which of  
course is making development really difficult. Yes, I suppose it makes  
sense to develop on a local-machine-based node first, but due to technical  
reasons (data presiding on clusters, etc.) it's not that practical.

Whenever something seems to go wrong, I simply get the following standard  
exception:

"Exception in thread "main"  
org.elasticsearch.transport.TransportSerializationException: Failed to  
deserialize exception response from stream"

If I read it correctly it implies something along the lines not being able  
to get the actual exception from the server? This message is always  
preceded by the following warning:

"WARN transport.netty: [Elathan] Message not fully read (response) for [16]  
handler  
(...).client.transport.action.support.BaseClientTransportAction$1@d92404,  
error [true], resetting"

Any advice/help? The full exception message follows...

Exception in thread "main"  
org.elasticsearch.transport.TransportSerializationException: Failed to  
deserialize exception response from stream  
at  
org.elasticsearch.transport.netty.MessageChannelHandler.handlerResponseError(MessageChannelHandler.java:267)  
at  
org.elasticsearch.transport.netty.MessageChannelHandler.process(MessageChannelHandler.java:221)  
at  
org.elasticsearch.transport.netty.MessageChannelHandler.callDecode(MessageChannelHandler.java:147)  
at  
org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:101)  
at  
org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80)  
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:274)  
at  
org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:261)  
at  
org.elasticsearch.common.netty.channel.socket.nio.NioWorker.read(NioWorker.java:351)  
at  
org.elasticsearch.common.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:282)  
at  
org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWorker.java:202)  
at  
org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)  
at  
org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:44)  
at  
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)  
at  
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)  
at java.lang.Thread.run(Thread.java:722)

etc.

---

<div class="post-metadata">

**Author:** ![Clinton\_Gormley](https://avatars.discourse-cdn.com/v4/letter/c/50afbb/32.png) [@Clinton\_Gormley](https://discuss.elastic.co/u/Clinton_Gormley)\
**Post date:** [March 14, 2012, 2:18pm UTC](https://discuss.elastic.co/t/exceptions/6998/2 "2012-03-14T14:18:49Z")

</div>

> "Exception in thread "main"  
> org.elasticsearch.transport.TransportSerializationException: Failed to  
> deserialize exception response from stream"

This sounds like you may be using different versions of Elasticsearch.  
The client and node versions must be the same

clint

---

<div class="post-metadata">

**Author:** ![thinusp](https://avatars.discourse-cdn.com/v4/letter/t/da6949/32.png) [@thinusp](https://discuss.elastic.co/u/thinusp)\
**Post date:** [March 14, 2012, 2:33pm UTC](https://discuss.elastic.co/t/exceptions/6998/3 "2012-03-14T14:33:33Z")

</div>

Thanks Clint,

The version reported by using 'elasticsearch -v' is: "Elasticsearch  
Version: 0.18.7, JVM: 20.0-b11", and the dependency I have is from the  
maven repository: "elasticsearch-0.18.7.jar". I get a transport client to  
do the heavy-lifting, which I construct with a callable function like this:

public TransportClient getTransportClient() {  
if (\_transportClient == null) {  
Settings s =  
ImmutableSettings.settingsBuilder().put("cluster.name",  
\_config.getClusterName()).build();  
\_transportClient = new TransportClient(s);

```
     for (String ipAddress : _config.getIpAddress()) {
        _transportClient.addTransportAddress(new 

```

InetSocketTransportAddress(ipAddress, \_config.getIpPort()));  
}  
}

```
  return _transportClient;

```

}

I might be wrong, but I don't think version-incompatibility is the issue  
here - unless there's something funny about the Maven repository that I  
don't know of. Is there some other version number I'll need to check up on?

On Wednesday, 14 March 2012 16:18:49 UTC+2, Clinton Gormley wrote:

> > "Exception in thread "main"  
> > org.elasticsearch.transport.TransportSerializationException: Failed to  
> > deserialize exception response from stream"
> 
> This sounds like you may be using different versions of Elasticsearch.  
> The client and node versions must be the same
> 
> clint

---

<div class="post-metadata">

**Author:** ![Lukas\_Vlcek1](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lukas_vlcek1/32/819_2.png) [@Lukas\_Vlcek1](https://discuss.elastic.co/u/Lukas_Vlcek1)\
**Post date:** [March 14, 2012, 5:31pm UTC](https://discuss.elastic.co/t/exceptions/6998/4 "2012-03-14T17:31:38Z")

</div>

Hi,

are you using any pluggins on the server side? They typically include jars  
that you may not have available with the TransportClient part so exceptions  
from pluggins can not be deserialized. Try to check server side logs and  
eventually make sure you have missing jars on the client.

Regards,  
Lukas

Dne 14.3.2012 15:33 "Thinus Prinsloo" [thinus.prinsloo@gmail.com](mailto:thinus.prinsloo@gmail.com) napsal(a):

> Thanks Clint,
> 
> The version reported by using 'elasticsearch -v' is: "Elasticsearch  
> Version: 0.18.7, JVM: 20.0-b11", and the dependency I have is from the  
> maven repository: "elasticsearch-0.18.7.jar". I get a transport client to  
> do the heavy-lifting, which I construct with a callable function like this:
> 
> public TransportClient getTransportClient() {  
> if (\_transportClient == null) {  
> Settings s = ImmutableSettings.settingsBuilder().put("  
> cluster.name", \_config.getClusterName()).build();  
> \_transportClient = new TransportClient(s);
> 
> ```
> for (String ipAddress : _config.getIpAddress()) {
> _transportClient.addTransportAddress(new
> 
> ```
> 
> InetSocketTransportAddress(ipAddress, \_config.getIpPort()));  
> }  
> }
> 
> ```
> return _transportClient;
> 
> ```
> 
> }
> 
> I might be wrong, but I don't think version-incompatibility is the issue  
> here - unless there's something funny about the Maven repository that I  
> don't know of. Is there some other version number I'll need to check up on?
> 
> On Wednesday, 14 March 2012 16:18:49 UTC+2, Clinton Gormley wrote:
> 
> > > "Exception in thread "main"  
> > > org.elasticsearch.transport. **TransportSerializationExceptio** n:  
> > > Failed to  
> > > deserialize exception response from stream"
> > 
> > This sounds like you may be using different versions of Elasticsearch.  
> > The client and node versions must be the same
> > 
> > clint

---

<div class="post-metadata">

**Author:** ![adrem](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/adrem/32/2216_2.png) [@adrem](https://discuss.elastic.co/u/adrem)\
**Post date:** [August 20, 2012, 5:47pm UTC](https://discuss.elastic.co/t/exceptions/6998/5 "2012-08-20T17:47:01Z")

</div>

do the client, by any chance run on a different jvm version than the cluster ?

from a 32Bit Win workstation to a 64Bit Linux cluster while trying to create an index.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 3:15am UTC](https://discuss.elastic.co/t/exceptions/6998/6 "2017-07-06T03:15:44Z")

</div>


