You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cassandra.apache.org by Bingbing Liu <ru...@gmail.com> on 2010/04/27 11:21:19 UTC
Broken pipe
when i use get_range_slices, i get the exceptions , i don't know what happens
hope someone can help me
org.apache.thrift.transport.TTransportException: java.net.SocketException: Broken pipe
at org.apache.thrift.transport.TIOStreamTransport.write(TIOStreamTransport.java:142)
at org.apache.thrift.protocol.TBinaryProtocol.writeI32(TBinaryProtocol.java:152)
at org.apache.thrift.protocol.TBinaryProtocol.writeMessageBegin(TBinaryProtocol.java:80)
at org.apache.cassandra.thrift.Cassandra$Client.send_get_range_slices(Cassandra.java:592)
at org.apache.cassandra.thrift.Cassandra$Client.get_range_slices(Cassandra.java:586)
at org.clouddb.test.GrepSelect.main(GrepSelect.java:64)
Caused by: java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:109)
at org.apache.thrift.transport.TIOStreamTransport.write(TIOStreamTransport.java:140)
... 5 more
2010-04-27
Bingbing Liu
Re: Re: Broken pipe
Posted by Jonathan Shook <js...@gmail.com>.
I have been able to reproduce this, although it was a bug in
application client code. If you keep a thrift client around longer
after it has had an exception, it may generate this error.
In my case, I was holding a reference via ThreadLocal<> to a stale
storage object.
Another symptom which may help identify this scenario is that the
broken client will not initiate any network traffic, not even a SYN
packet. You may have to shut down other client traffic on the client
node in order to see this...
2010/4/28 Jonathan Ellis <jb...@gmail.com>:
> did you check the log for exceptions?
>
> On Wed, Apr 28, 2010 at 12:08 AM, Bingbing Liu <ru...@gmail.com> wrote:
>> but the situation is that ,at the beginning everything goes well, then when
>> the get_range_slices gets about 13,000,000 rows (set the key range to 2000)
>>
>> the exception happens.
>>
>> and when i do the same thing on a smaller data set, no such thing happens.
>>
>> 2010-04-28
>> ________________________________
>> Bingbing Liu
>> ________________________________
>> 发件人: Jonathan Ellis
>> 发送时间: 2010-04-27 20:51:11
>> 收件人: user
>> 抄送: rucbing
>> 主题: Re: Broken pipe
>> get_range_slices works fine in the system tests, so something is wrong
>> on your client side. Some possibilities:
>> - sending to a non-Thrift port
>> - using an incompatible set of Thrift bindings than the one your
>> server supports
>> - mixing a framed client with a non-framed server or vice versa
>> [moving followups to user list]
>> 2010/4/27 Bingbing Liu <ru...@gmail.com>:
>>> when i use get_range_slices, i get the exceptions , i don't know what happens
>>>
>>> hope someone can help me
>>>
>>>
>>> org.apache.thrift.transport.TTransportException: java.net.SocketException: Broken pipe
>>> at org.apache.thrift.transport.TIOStreamTransport.write(TIOStreamTransport.java:142)
>>> at org.apache.thrift.protocol.TBinaryProtocol.writeI32(TBinaryProtocol.java:152)
>>> at org.apache.thrift.protocol.TBinaryProtocol.writeMessageBegin(TBinaryProtocol.java:80)
>>> at org.apache.cassandra.thrift.Cassandra$Client.send_get_range_slices(Cassandra.java:592)
>>> at org.apache.cassandra.thrift.Cassandra$Client.get_range_slices(Cassandra.java:586)
>>> at org.clouddb.test.GrepSelect.main(GrepSelect.java:64)
>>> Caused by: java.net.SocketException: Broken pipe
>>> at java.net.SocketOutputStream.socketWrite0(Native Method)
>>> at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
>>> at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
>>> at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
>>> at java.io.BufferedOutputStream.write(BufferedOutputStream.java:109)
>>> at org.apache.thrift.transport.TIOStreamTransport.write(TIOStreamTransport.java:140)
>>> ... 5 more
>>>
>>>
>>> 2010-04-27
>>>
>>>
>>>
>>> Bingbing Liu
>>>
>> --
>> Jonathan Ellis
>> Project Chair, Apache Cassandra
>> co-founder of Riptano, the source for professional Cassandra support
>> http://riptano.com
>
>
>
> --
> Jonathan Ellis
> Project Chair, Apache Cassandra
> co-founder of Riptano, the source for professional Cassandra support
> http://riptano.com
>
Re: Re: Broken pipe
Posted by Jonathan Ellis <jb...@gmail.com>.
did you check the log for exceptions?
On Wed, Apr 28, 2010 at 12:08 AM, Bingbing Liu <ru...@gmail.com> wrote:
> but the situation is that ,at the beginning everything goes well, then when
> the get_range_slices gets about 13,000,000 rows (set the key range to 2000)
>
> the exception happens.
>
> and when i do the same thing on a smaller data set, no such thing happens.
>
> 2010-04-28
> ________________________________
> Bingbing Liu
> ________________________________
> 发件人: Jonathan Ellis
> 发送时间: 2010-04-27 20:51:11
> 收件人: user
> 抄送: rucbing
> 主题: Re: Broken pipe
> get_range_slices works fine in the system tests, so something is wrong
> on your client side. Some possibilities:
> - sending to a non-Thrift port
> - using an incompatible set of Thrift bindings than the one your
> server supports
> - mixing a framed client with a non-framed server or vice versa
> [moving followups to user list]
> 2010/4/27 Bingbing Liu <ru...@gmail.com>:
>> when i use get_range_slices, i get the exceptions , i don't know what happens
>>
>> hope someone can help me
>>
>>
>> org.apache.thrift.transport.TTransportException: java.net.SocketException: Broken pipe
>> at org.apache.thrift.transport.TIOStreamTransport.write(TIOStreamTransport.java:142)
>> at org.apache.thrift.protocol.TBinaryProtocol.writeI32(TBinaryProtocol.java:152)
>> at org.apache.thrift.protocol.TBinaryProtocol.writeMessageBegin(TBinaryProtocol.java:80)
>> at org.apache.cassandra.thrift.Cassandra$Client.send_get_range_slices(Cassandra.java:592)
>> at org.apache.cassandra.thrift.Cassandra$Client.get_range_slices(Cassandra.java:586)
>> at org.clouddb.test.GrepSelect.main(GrepSelect.java:64)
>> Caused by: java.net.SocketException: Broken pipe
>> at java.net.SocketOutputStream.socketWrite0(Native Method)
>> at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
>> at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
>> at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
>> at java.io.BufferedOutputStream.write(BufferedOutputStream.java:109)
>> at org.apache.thrift.transport.TIOStreamTransport.write(TIOStreamTransport.java:140)
>> ... 5 more
>>
>>
>> 2010-04-27
>>
>>
>>
>> Bingbing Liu
>>
> --
> Jonathan Ellis
> Project Chair, Apache Cassandra
> co-founder of Riptano, the source for professional Cassandra support
> http://riptano.com
--
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of Riptano, the source for professional Cassandra support
http://riptano.com
Re: Broken pipe
Posted by Jonathan Ellis <jb...@gmail.com>.
get_range_slices works fine in the system tests, so something is wrong
on your client side. Some possibilities:
- sending to a non-Thrift port
- using an incompatible set of Thrift bindings than the one your
server supports
- mixing a framed client with a non-framed server or vice versa
[moving followups to user list]
2010/4/27 Bingbing Liu <ru...@gmail.com>:
> when i use get_range_slices, i get the exceptions , i don't know what happens
>
> hope someone can help me
>
>
> org.apache.thrift.transport.TTransportException: java.net.SocketException: Broken pipe
> at org.apache.thrift.transport.TIOStreamTransport.write(TIOStreamTransport.java:142)
> at org.apache.thrift.protocol.TBinaryProtocol.writeI32(TBinaryProtocol.java:152)
> at org.apache.thrift.protocol.TBinaryProtocol.writeMessageBegin(TBinaryProtocol.java:80)
> at org.apache.cassandra.thrift.Cassandra$Client.send_get_range_slices(Cassandra.java:592)
> at org.apache.cassandra.thrift.Cassandra$Client.get_range_slices(Cassandra.java:586)
> at org.clouddb.test.GrepSelect.main(GrepSelect.java:64)
> Caused by: java.net.SocketException: Broken pipe
> at java.net.SocketOutputStream.socketWrite0(Native Method)
> at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
> at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
> at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
> at java.io.BufferedOutputStream.write(BufferedOutputStream.java:109)
> at org.apache.thrift.transport.TIOStreamTransport.write(TIOStreamTransport.java:140)
> ... 5 more
>
>
> 2010-04-27
>
>
>
> Bingbing Liu
>
--
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of Riptano, the source for professional Cassandra support
http://riptano.com