We had similar problems. It may help to read this:
http://blog.mikiobraun.de/ (Tuning GC for Cassandra)
Regards,
Leo.
On 22.09.2010, at 09:27, Chris Jansen wrote:
> Hi all,
>
> I have written a test application that does a write, read and delete on one
> of the sample column families that ship with Cassandra, and for some reason
> when I leave it going for an extended period of time I see Cassandra crash
> with out of heap exceptions. I don’t understand why this should be as I am
> deleting the data almost as soon as I have read it.
>
> Also I am seeing the data files grow for Keyspace1, again with apparently no
> reason as I am deleting the data as I read it, which eventually causes the
> disk space to completely fill up.
>
> How can this be, am I using Cassandra in the wrong way or is this a bug?
>
> Any help or advice would be greatly appreciated.
>
> Thanks in advance,
>
> Chris
>
>
> PS To give a better idea of what I am doing I’ve included some of the source
> from my Java test app, typically I have 20 threads running in parallel
> performing this operation:
>
> while(true)
> {
> long startTime = System.currentTimeMillis();
> key = UUID.randomUUID().toString();
> long timestamp = System.currentTimeMillis();
> ColumnPath colPathFdl = new ColumnPath(columnFamily);
> colPathFdl.setColumn(("345345345354"+key).getBytes(UTF8));
>
> boolean broken = true;
>
> while(broken)
> {
> try
> {
> client.insert(keyspace, key, colPathFdl,
> getBytesFromFile(new
> File("/opt/java/apache-cassandra/conf/storage-conf.xml")),timestamp,
> ConsistencyLevel.QUORUM);
> broken = false;
> }
> catch(Exception e)
> {
> System.out.println("Cannot write: "+key+"
> RETRYING");
> broken=true;
> e.printStackTrace();
> }
> }
>
> try
> {
> Column col = client1.get(keyspace, key,
> colPathFdl,ConsistencyLevel.QUORUM).getColumn();
> System.out.println(key +" column name: " + new
> String(col.name, UTF8));
> //System.out.println("column value: " + new
> String(col.value, UTF8));
> System.out.println(key +" column timestamp: " + new
> Date(col.timestamp));
>
> }
> catch(Exception e)
> {
> System.out.println("Cannot read: "+key);
> e.printStackTrace();
> }
>
> try
> {
> System.out.println(key +" delete column:: "+key);
> client.remove(keyspace, key, colPathFdl, timestamp,
> ConsistencyLevel.QUORUM);
> }
> catch(Exception e)
> {
> System.out.println("Cannot delete: "+key);
> e.printStackTrace();
> }
>
> long stopTime = System.currentTimeMillis();
> long timeTaken = stopTime -startTime;
> System.err.println(Thread.currentThread().getName() + "
> " +key+ " Last operation took "+ timeTaken+"ms" );
> }
>
>
>
>
> NOTICE: Cognito Limited. Benham Valence, Newbury, Berkshire, RG20 8LU. UK.
> Company number 02723032. This e-mail message and any attachment is
> confidential. It may not be disclosed to or used by anyone other than the
> intended recipient. If you have received this e-mail in error please notify
> the sender immediately then delete it from your system. Whilst every effort
> has been made to check this mail is virus free we accept no responsibility
> for software viruses and you should check for viruses before opening any
> attachments. Opinions, conclusions and other information in this email and
> any attachments which do not relate to the official business of the company
> are neither given by the company nor endorsed by it.
>
> This email message has been scanned for viruses by Mimecast
>