You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Brian Tarbox <br...@gmail.com> on 2014/11/26 16:41:28 UTC

multiple threads updating result in TransportException

We're running into a problem where things are fine if our client runs
single threaded but gets TransportException if we use multiple threads.
The datastax driver gets an NIO checkBounds error.

Here is a link to a stack overflow question we found that describes the
problem we're seeing.  This question was asked 7 months ago and got no
answers.

We're running C* 2.0.9 and see the problem on our single node test cluster.

Here is the stack trace we see:

        at java.nio.Buffer.checkBounds(Buffer.java:559) ~[na:1.7.0_55]

        at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:143)
~[na:1.7.0_55]

        at
org.jboss.netty.buffer.HeapChannelBuffer.setBytes(HeapChannelBuffer.java:136)
~[netty-3.7.0.Final.jar:na]

        at
org.jboss.netty.buffer.AbstractChannelBuffer.writeBytes(AbstractChannelBuffer.java:472)
~[netty-3.7.0.Final.jar:na]

        at com.datastax.driver.core.CBUtil.writeValue(CBUtil.java:272)
~[cassandra-driver-core-2.0.0-rc2.jar:na]

        at com.datastax.driver.core.CBUtil.writeValueList(CBUtil.java:297)
~[cassandra-driver-core-2.0.0-rc2.jar:na]

        at
com.datastax.driver.core.Requests$QueryProtocolOptions.encode(Requests.java:223)
~[cassandra-driver-core-2.0.0-rc2.jar:na]

        at
com.datastax.driver.core.Requests$Execute$1.encode(Requests.java:122)
~[cassandra-driver-core-2.0.0-rc2.jar:na]

        at
com.datastax.driver.core.Requests$Execute$1.encode(Requests.java:119)
~[cassandra-driver-core-2.0.0-rc2.jar:na]

        at
com.datastax.driver.core.Message$ProtocolEncoder.encode(Message.java:184)
~[cassandra-driver-core-2.0.0-rc2.jar:na]

        at
org.jboss.netty.handler.codec.oneone.OneToOneEncoder.doEncode(OneToOneEncoder.java:66)
~[netty-3.7.0.Final.jar:na]

        at
org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:59)
~[netty-3.7.0.Final.jar:na]

        at org.jboss.netty.channel.Channels.write(Channels.java:704)
~[netty-3.7.0.Final.jar:na]

        at org.jboss.netty.channel.Channels.write(Channels.java:671)
~[netty-3.7.0.Final.jar:na]

        at org.jboss.netty.channel.Ab

-- 
http://about.me/BrianTarbox

Re: multiple threads updating result in TransportException

Posted by Eric Stevens <mi...@gmail.com>.
A lot of people do a lot of multi-threaded work with Datastax Java Driver.
It looks like you're using Cassandra Driver 2.0.0-RC2, might I suggest as a
first step, at least upgrade to 2.0.0 final?  RC2 wasn't even the final
release candidate for 2.0.0.

On Wed Nov 26 2014 at 8:44:07 AM Brian Tarbox <br...@gmail.com> wrote:

> We're running into a problem where things are fine if our client runs
> single threaded but gets TransportException if we use multiple threads.
> The datastax driver gets an NIO checkBounds error.
>
> Here is a link to a stack overflow question we found that describes the
> problem we're seeing.  This question was asked 7 months ago and got no
> answers.
>
> We're running C* 2.0.9 and see the problem on our single node test cluster.
>
> Here is the stack trace we see:
>
>         at java.nio.Buffer.checkBounds(Buffer.java:559) ~[na:1.7.0_55]
>
>         at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:143)
> ~[na:1.7.0_55]
>
>         at
> org.jboss.netty.buffer.HeapChannelBuffer.setBytes(HeapChannelBuffer.java:136)
> ~[netty-3.7.0.Final.jar:na]
>
>         at
> org.jboss.netty.buffer.AbstractChannelBuffer.writeBytes(AbstractChannelBuffer.java:472)
> ~[netty-3.7.0.Final.jar:na]
>
>         at com.datastax.driver.core.CBUtil.writeValue(CBUtil.java:272)
> ~[cassandra-driver-core-2.0.0-rc2.jar:na]
>
>         at com.datastax.driver.core.CBUtil.writeValueList(CBUtil.java:297)
> ~[cassandra-driver-core-2.0.0-rc2.jar:na]
>
>         at
> com.datastax.driver.core.Requests$QueryProtocolOptions.encode(Requests.java:223)
> ~[cassandra-driver-core-2.0.0-rc2.jar:na]
>
>         at
> com.datastax.driver.core.Requests$Execute$1.encode(Requests.java:122)
> ~[cassandra-driver-core-2.0.0-rc2.jar:na]
>
>         at
> com.datastax.driver.core.Requests$Execute$1.encode(Requests.java:119)
> ~[cassandra-driver-core-2.0.0-rc2.jar:na]
>
>         at
> com.datastax.driver.core.Message$ProtocolEncoder.encode(Message.java:184)
> ~[cassandra-driver-core-2.0.0-rc2.jar:na]
>
>         at
> org.jboss.netty.handler.codec.oneone.OneToOneEncoder.doEncode(OneToOneEncoder.java:66)
> ~[netty-3.7.0.Final.jar:na]
>
>         at
> org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:59)
> ~[netty-3.7.0.Final.jar:na]
>
>         at org.jboss.netty.channel.Channels.write(Channels.java:704)
> ~[netty-3.7.0.Final.jar:na]
>
>         at org.jboss.netty.channel.Channels.write(Channels.java:671)
> ~[netty-3.7.0.Final.jar:na]
>
>         at org.jboss.netty.channel.Ab
>
> --
> http://about.me/BrianTarbox
>