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 <jbel...@gmail.com>: > did you check the log for exceptions? > > On Wed, Apr 28, 2010 at 12:08 AM, Bingbing Liu <rucb...@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 <rucb...@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 >