Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

thrift_max_message_length_in_mb not recognized Cassandra

I am having problems trying to query a wide row in Cassandra 1.2.4 When I tried to query the row using the Cassandra-cli, I obtain this error:

Frame size (75209759) larger than max length (15728640)! org.apache.thrift.transport.TTransportException: Frame size (75209759) larger than max length (15728640)! at org.apache.thrift.transport.TFramedTransport.readFrame(TFramedTransport.java:137) at org.apache.thrift.transport.TFramedTransport.read(TFramedTransport.java:101)

I tried to change the next configuration parameters in the Cassandra.yaml:

# Frame size for thrift (maximum field length).
thrift_framed_transport_size_in_mb: 1024

# The max length of a thrift message, including all fields and
# internal thrift overhead.
thrift_max_message_length_in_mb: 1048

But I obtain the same error when I tried to query the row using the Cassandra cli.

When I start cassndra in the log appears:

INFO 14:48:34,133 Using TFramedTransport with a max frame size of 1073741824 bytes.
 INFO 14:48:34,137 Using synchronous/threadpool thrift server on localhost : 9160
 INFO 14:48:34,137 Listening for thrift clients...

But in the Cassandra cli the change is not reflected, is it a problem with the version that we are using?

Thanks for your help

like image 927
ftrujillo Avatar asked Oct 15 '13 12:10

ftrujillo


1 Answers

The max frame size needs to be set on the client too, and unfortunately it is hardcoded to 15 MB in cassandra-cli.

In general, it is much better to use paging and small messages than querying large amounts at once. You would have to significantly increase the timeout to be able to retrieve 1 GB of data and this would have other side effects.

Unfortunately cassandra-cli doesn't support retrieving part of a row. You can use cqlsh and use a paging CQL query or quickly write some python code using e.g. pycassa that would page through the columns.

like image 133
Richard Avatar answered Oct 16 '22 09:10

Richard