【发布时间】:2014-06-08 14:22:02
【问题描述】:
我在尝试使用 cassandra-jdbc(1.1.3) 驱动程序查询 Cassandra 时遇到此错误。
Caused by: org.apache.thrift.transport.TTransportException: Read a negative frame size (-2147418110)!
at org.apache.thrift.transport.TFramedTransport.readFrame(TFramedTransport.java:133)
at org.apache.thrift.transport.TFramedTransport.read(TFramedTransport.java:101)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
at org.apache.thrift.protocol.TBinaryProtocol.readStringBody(TBinaryProtocol.java:354)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:215)
at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:69)
at org.apache.cassandra.thrift.Cassandra$Client.recv_prepare_cql_query(Cassandra.java:1438)
at org.apache.cassandra.thrift.Cassandra$Client.prepare_cql_query(Cassandra.java:1424)
at org.apache.cassandra.cql.jdbc.CassandraConnection.prepare(CassandraConnection.java:438)
at org.apache.cassandra.cql.jdbc.CassandraConnection.prepare(CassandraConnection.java:452)
at org.apache.cassandra.cql.jdbc.CassandraPreparedStatement.<init>(CassandraPreparedStatement.java:85)
... 79 more
这是我的示例代码 sn-p
statement = connection.prepareStatement(SELECT_CQL);
statement.setString(1, ID);
resultSet = statement.executeQuery();
【问题讨论】:
-
也许您的客户没有使用框架传输?您是如何制作连接对象的?
-
既然我们使用的是 CQL,我想知道这个节俭接口是如何出现在图片中的......
-
在我的 Web 应用程序中连接 Cassandra 时遇到了类似的问题。我正在使用播放! 2.4 和 Cassandra 2.2 版本。我的persistence.xml 中的所有东西都完美地提供了。我唯一不确定的是在 persistence.xml 的 persistence_unit 属性中写什么?我得到的例外是
org.apache.thrift.TException: org.apache.thrift.transport.TTransportException: Read a negative frame size (-2080374784)!。如果有人可以帮助解决这个问题?