cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Maxim Potekhin <potek...@bnl.gov>
Subject Re: Strange OOM when doing "list" in CLI
Date Wed, 04 Jan 2012 10:39:46 GMT
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 <potekhin@bnl.gov 
> <mailto:potekhin@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)
> >
> >
> > 


Mime
View raw message