Hi, on our dev cluster of 4 cassandra nodes 0.7.8 I'm suddenly getting:
ERROR 13:40:50,848 Internal error processing get_range_slices java.lang.OutOfMemoryError: Java heap space at java.util.ArrayList.<init>(ArrayList.java:112) at org.apache.cassandra.service.StorageProxy.getRangeSlice(StorageProxy.java:480) at org.apache.cassandra.thrift.CassandraServer.get_range_slices(CassandraServer.java:486) at org.apache.cassandra.thrift.Cassandra$Processor$get_range_slices.process(Cassandra.java:2868) at org.apache.cassandra.thrift.Cassandra$Processor.process(Cassandra.java:2555) at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:206) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) I run get_range_slices() on all keys with 3 columns named in the Thrift request. columnParent.column_family = CATEGORIES_CATEGORY; keyRange.start_key = ""; keyRange.end_key = ""; keyRange.__isset.start_key = true; keyRange.__isset.end_key = true; keyRange.count = std::numeric_limits<int32_t>::max(); slicePredicate.column_names.push_back(CATEGORIES_CATEGORY_ID); slicePredicate.column_names.push_back(CATEGORIES_CATEGORY_NAME); slicePredicate.column_names.push_back(CATEGORIES_CATEGORY_PARENT); slicePredicate.__isset.column_names = true; std::vector<oacassandra::KeySlice> rangeSlices; cassandraWrapper->get_range_slices(rangeSlices, columnParent, slicePredicate, keyRange, oacassandra::ConsistencyLevel::QUORUM); There are just 102 rows each with 6 columns. Maximum rowsize is 3 379 391B, mean rowsize is 407 756B. Suddenly Cassandra needs 9GB of heap-space to fulfill this get_range_slices. There is no cache enabled. What could be the problem here? Regards, Patrik PS: while reading the email before I'd send it, I've noticed the keyRange.count =... is it possible that Cassandra is preallocating some internal data acording the KeyRange.count parameter?