Search This Blog

Loading...

Monday, September 13, 2010

Thrift Framed Transport Cassandra

java.lang.RuntimeException: org.apache.thrift.transport.TTransportException: java.net.SocketException: Software caused connection abort: recv failed
    at com.psl.lucandra.CassandraUtils.robustBatchInsert(CassandraUtils.java:381)
    at com.psl.lucandra.IndexWriter.addDocument(IndexWriter.java:260)
    at com.psl.test.LucTest.addData(LucTest.java:127)
    at com.psl.test.LucTest.main(LucTest.java:56)
Caused by: org.apache.thrift.transport.TTransportException: java.net.SocketException: Software caused connection abort: recv failed
    at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:128)
    at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
    at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:314)
    at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:262)
    at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:192)
    at org.apache.cassandra.thrift.Cassandra$Client.recv_batch_mutate(Cassandra.java:789)
    at org.apache.cassandra.thrift.Cassandra$Client.batch_mutate(Cassandra.java:772)
    at com.psl.lucandra.CassandraUtils.robustBatchInsert(CassandraUtils.java:375)
    ... 3 more
Caused by: java.net.SocketException: Software caused connection abort: recv failed
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
    at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:126)
    ... 10 more

    Solution:
    This error occurs while in storage-conf.xml has following true:
   
  ThriftFramedTransport true

    Solution for it is as follows
   
    use :
    TSocket socket = new TSocket("localhost", 9160);
    TTransport tr=new TFramedTransport(socket);

    ...
   
    Will Work ...

0 comments:

Post a Comment