Hi,
I am using Cassandra 1.0.8 which should already have fix for CASSANDRA-3492.
I have counters column family which is about 4GB and it has enabled compression with following settings: compression_options = {sstable_compression:SnappyCompressor, chunk_length_kb:64}. I am running it on my laptop with 4GB of RAM, with all default settings, and looks like Cassandra gets 1GB of RAM.
I have program which continuously inserts about 1k rows per second and it works Ok. But when I am trying to do simple queries like "list countersCF limit 10" or "get countersCF[utf8('hello')]" in CLI, it gives me TimeOut exception and internal errors.
I looked at cassandra logs, and see following:
java.lang.OutOfMemoryError: Java heap space
at org.apache.cassandra.io.compress.CompressedRandomAccessReader.<init>(CompressedRandomAccessReader.java:64)
at org.apache.cassandra.io.compress.CompressedRandomAccessReader.open(CompressedRandomAccessReader.java:44)
at org.apache.cassandra.io.sstable.SSTableReader.openDataReader(SSTableReader.java:949)
at org.apache.cassandra.io.sstable.SSTableScanner.<init>(SSTableScanner.java:72)
at org.apache.cassandra.io.sstable.SSTableReader.getScanner(SSTableReader.java:796)
at org.apache.cassandra.db.RowIteratorFactory.getIterator(RowIteratorFactory.java:88)
at org.apache.cassandra.db.ColumnFamilyStore.getRangeSlice(ColumnFamilyStore.java:1329)
at org.apache.cassandra.service.StorageProxy.getRangeSlice(StorageProxy.java:806)
at org.apache.cassandra.thrift.CassandraServer.get_range_slices(CassandraServer.java:697)
at org.apache.cassandra.thrift.Cassandra$Processor$get_range_slices.process(Cassandra.java:3202)
at org.apache.cassandra.thrift.Cassandra$Processor.process(Cassandra.java:2889)
at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:187)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)
Does any body have any idea what's wrong? How can I better monitor, diagnose and prevent this problem?
Thanks.
