hi ,
I get a fatal exception with my cassandra cluster:
java.lang.NoClassDefFoundErrororg/apache/cassandra/db/CompactionManager$4
at
org.apache.cassandra.db.CompactionManager.submitMajor(CompactionManager.java:156)
at
org.apache.cassandra.db.CompactionManager.submitMajor(CompactionManager.java:151)
at
org.apache.cassandra.db.HintedHandOffManager.deliverAllHints(HintedHandOffManager.java:205)
at
org.apache.cassandra.db.HintedHandOffManager.access$000(HintedHandOffManager.java:80)
at
org.apache.cassandra.db.HintedHandOffManager$1.runMayThrow(HintedHandOffManager.java:100)
at
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException:
org.apache.cassandra.db.CompactionManager$4
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 7 more
I made a modification that , do not compact sstables whose size >10GB:
static Set<List<SSTableReader>> getBuckets(Iterable<SSTableReader>
files, long min)
{
Map<List<SSTableReader>, Long> buckets = new
HashMap<List<SSTableReader>, Long>();
for (SSTableReader sstable : files)
{
long size = sstable.length();
if(size > 10L * 1024L * 1024L * 1024L)
continue;
Could some one help explain why this exception happened? Thanks a lot!
regards,
--------------
casablinca126.com
2010-06-04