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)
>
>
>