Hi, I'm running a 3 node cassandra 1.0.2 cluster on 3 Amazon EC2 t1.micro.

I managed to fix some OOM I had, but I still have some spike of cpu load.

I know that t1.micro have small resources, but I think it could be enough if they were well managed.

My application works well, excepted when cassandra need to run a compaction on a node. To do it, Cassandra uses 100% of the cpu, generating a lot of time out. My time out is configured to 250 ms with 2 attempt max. I'm running in production, our actual system use MySQL and we are trying to replace MySQLwith Cassandra. Cassandra musn't slow down the production environnement while we use both DB in parallel, that is why I can't increase the time before a time out.

Running this compaction in background somehow could be a good idea, after my seach about this subject, I tried by adding JVM_OPTS="$JVM_OPTS -Dcassandra.compaction.priority=1" to the cassandra-env.sh

This option was added for Cassandra 0.6.3, is it still usefull ? It doesn't resolve my problem.

Anyways, this doesn't help while performing a nodetool repair, the cpu load is still 100%.

Is there a way to turn these exceptional tasks into backgrounds tasks, using only available cpu ?

Is there a way to get Cassandra working properly on EC2 t1.micros ?

Thanks,

Alain