I used findbugs on cassandra and it returns 69 possible errors.
most problematic part of code is CQL - lot of null pointer problems there
some interesting errors:
C:/apache-nutch/eclipse/cassandra/src/java/org/apache/cassandra/service/AntiEntropyService.java:916
Condition.await() not in loop in
org.apache.cassandra.service.AntiEntropyService$RepairSession$RepairJob.addTree(AntiEntropyService$TreeRequest,
MerkleTree)
C:/apache-nutch/eclipse/cassandra/src/java/org/apache/cassandra/service/StorageProxy.java:370
Null passed for nonnull parameter of
org.apache.cassandra.utils.UUIDGen.decompose(UUID) in
org.apache.cassandra.service.StorageProxy$5.runMayThrow()
C:/apache-nutch/eclipse/cassandra/src/java/org/apache/cassandra/db/compaction/CompactionManager.java:157
org.apache.cassandra.db.compaction.CompactionManager$2.call() does not
release lock on all paths
C:/apache-nutch/eclipse/cassandra/src/java/org/apache/cassandra/db/compaction/CompactionManager.java:248
org.apache.cassandra.db.compaction.CompactionManager$6.runMayThrow()
does not release lock on all paths
C:/apache-nutch/eclipse/cassandra/src/java/org/apache/cassandra/utils/SimpleCondition.java:34
Monitor wait() called on a Condition in
org.apache.cassandra.utils.SimpleCondition.await() ** important! **
C:/apache-nutch/eclipse/cassandra/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java:224
Result of integer multiplication cast to long in
org.apache.cassandra.db.compaction.LeveledManifest.maxBytesForLevel(int)