Ed,

thanks for a dose of common sense, I should have thunk about it.

In fact, I only have 2 columns in that one particular CF, but one of these can get really fat (for a good reason). So the CLI just plain runs out of memory when pulling the default 100 rows (with a little help from various overheads). It didn't happen before because the recent additions to the data were slightly fatter than in the beginning.

Thanks

Maxim



On 1/3/2012 10:27 PM, Edward Capriolo wrote:
What you are probably running into is that list from the cli can bring all the columns of a key into memory. I have counters using composite keys and about 1k columns causes this to happen. We should have some paging support with list.

On Tuesday, January 3, 2012, Maxim Potekhin <potek...@bnl.gov <mailto:potek...@bnl.gov>> wrote: > I came back from Xmas vacation only to see that what always was an innocuous procedure
> in CLI now reliably results in OOM -- does anyone have ideas why?
>
> It never happened before. Version of Cassandra is 0.8.8.
>
> 2956 java -ea -javaagent:/home/cassandra/cassandra/bin/../lib/jamm-0.2.2.jar -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 Xms8000M -Xmx8000M -Xmn2000M -XX:+HeapDumpOnOutOfMemoryError -Xss128k -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemakEnabled -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=1 -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -X:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Djava.net.preferIPv4Stack=true -Dcom.sun.management.jmxremote.port=199
>
>
> [default@PANDA] list idxR;
> Using default limit of 100
> Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
> at org.apache.thrift.transport.TFramedTransport.readFrame(TFramedTransport.java:140) > 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.readAll(TBinaryProtocol.java:378) > at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:297) > at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:204) > at org.apache.cassandra.thrift.Cassandra$Client.recv_get_range_slices(Cassandra.java:752) > at org.apache.cassandra.thrift.Cassandra$Client.get_range_slices(Cassandra.java:734) > at org.apache.cassandra.cli.CliClient.executeList(CliClient.java:1379) > at org.apache.cassandra.cli.CliClient.executeCLIStatement(CliClient.java:266) > at org.apache.cassandra.cli.CliMain.processStatement(CliMain.java:217)
>        at org.apache.cassandra.cli.CliMain.main(CliMain.java:345)
>
>
>

Reply via email to