Aha! :) Could you test the patch attached to https://issues.apache.org/jira/browse/CASSANDRA-493 ?
(If you're using the binary release, you can get the source from https://svn.apache.org/repos/asf/incubator/cassandra/tags/cassandra-0.4.0-final/ and build with "ant") thanks, -Jonathan On Thu, Oct 15, 2009 at 1:35 PM, Edmond Lau <edm...@ooyala.com> wrote: > Yes, I'm using UTF8Type as the comparator. > > On Thu, Oct 15, 2009 at 11:33 AM, Jonathan Ellis <jbel...@gmail.com> wrote: >> Quicker question: Is this ColumnFamily using UTF8Type as its comparator? >> >> On Thu, Oct 15, 2009 at 1:17 PM, Jonathan Ellis <jbel...@gmail.com> wrote: >>> The exception on restart is occurring during a compaction of >>> already-written sstables. It logs what the files are beforehand >>> ("Compacting [...]"). Could you gzip up those sstables and send those >>> to me somehow (the Data, Index, and Filter files) along with the >>> ColumnFamily definition from your config so I can try some tests out? >>> >>> -Jonathan >>> >>> On Thu, Oct 15, 2009 at 12:51 PM, Edmond Lau <edm...@ooyala.com> wrote: >>>> I'm using the cassandra 0.4 release. I was loading a bunch of data >>>> into cassandra when the thrift api started throwing >>>> UnavailableExceptions. Checking the logs, I found errors that looked >>>> like the following: >>>> >>>> ERROR [ROW-MUTATION-STAGE:2935] 2009-10-15 17:32:52,518 >>>> DebuggableThreadPoolExecutor.java (line 85) Error in >>>> ThreadPoolExecutor >>>> java.lang.IllegalArgumentException: The name should match the name of >>>> the current column or super column >>>> at >>>> org.apache.cassandra.db.SuperColumn.putColumn(SuperColumn.java:208) >>>> at >>>> org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:200) >>>> at >>>> org.apache.cassandra.db.ColumnFamily.addColumns(ColumnFamily.java:127) >>>> at org.apache.cassandra.db.Memtable.resolve(Memtable.java:156) >>>> at org.apache.cassandra.db.Memtable.put(Memtable.java:139) >>>> at >>>> org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:450) >>>> at org.apache.cassandra.db.Table.apply(Table.java:608) >>>> at org.apache.cassandra.db.RowMutation.apply(RowMutation.java:205) >>>> at >>>> org.apache.cassandra.db.RowMutationVerbHandler.doVerb(RowMutationVerbHandler.java:79) >>>> at >>>> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:39) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >>>> at java.lang.Thread.run(Thread.java:619) >>>> ERROR [ROW-MUTATION-STAGE:2935] 2009-10-15 17:32:52,519 >>>> CassandraDaemon.java (line 71) Fatal exception in thread >>>> Thread[ROW-MUTATION-STAGE:2935,5,main] >>>> java.lang.IllegalArgumentException: The name should match the name of >>>> the current column or super column >>>> at >>>> org.apache.cassandra.db.SuperColumn.putColumn(SuperColumn.java:208) >>>> at >>>> org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:200) >>>> at >>>> org.apache.cassandra.db.ColumnFamily.addColumns(ColumnFamily.java:127) >>>> at org.apache.cassandra.db.Memtable.resolve(Memtable.java:156) >>>> at org.apache.cassandra.db.Memtable.put(Memtable.java:139) >>>> at >>>> org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:450) >>>> at org.apache.cassandra.db.Table.apply(Table.java:608) >>>> at org.apache.cassandra.db.RowMutation.apply(RowMutation.java:205) >>>> at >>>> org.apache.cassandra.db.RowMutationVerbHandler.doVerb(RowMutationVerbHandler.java:79) >>>> at >>>> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:39) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >>>> at java.lang.Thread.run(Thread.java:619) >>>> >>>> Stopping and starting the cluster gives me something similar: >>>> >>>> ERROR - Error in executor futuretask >>>> java.util.concurrent.ExecutionException: >>>> java.lang.IllegalArgumentException: The name should match the name of >>>> the current column or super column >>>> at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) >>>> at java.util.concurrent.FutureTask.get(FutureTask.java:83) >>>> at >>>> org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor.logFutureExceptions(DebuggableThreadPoolExecutor.java:95) >>>> at >>>> org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor.afterExecute(DebuggableScheduledThreadPoolExecutor.java:50) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:888) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >>>> at java.lang.Thread.run(Thread.java:619) >>>> Caused by: java.lang.IllegalArgumentException: The name should match >>>> the name of the current column or super column >>>> at org.apache.cassandra.db.SuperColumn.putColumn(SuperColumn.java:208) >>>> at org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:200) >>>> at org.apache.cassandra.db.ColumnFamily.addColumns(ColumnFamily.java:127) >>>> at org.apache.cassandra.db.ColumnFamily.resolve(ColumnFamily.java:408) >>>> at >>>> org.apache.cassandra.db.ColumnFamilyStore.merge(ColumnFamilyStore.java:477) >>>> at >>>> org.apache.cassandra.db.ColumnFamilyStore.doFileCompaction(ColumnFamilyStore.java:1078) >>>> at >>>> org.apache.cassandra.db.ColumnFamilyStore.doCompaction(ColumnFamilyStore.java:689) >>>> at >>>> org.apache.cassandra.db.MinorCompactionManager$1.call(MinorCompactionManager.java:165) >>>> at >>>> org.apache.cassandra.db.MinorCompactionManager$1.call(MinorCompactionManager.java:162) >>>> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) >>>> at java.util.concurrent.FutureTask.run(FutureTask.java:138) >>>> at >>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98) >>>> at >>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >>>> ... 2 more >>>> >>>> I haven't yet tried to repro, but was wondering if anyone had any >>>> insight on it. It looks like an update got routed to a super column >>>> that wasn't responsible for it? >>>> >>>> Edmond >>>> >>> >> >