Thanks Jonathan for the fast response time.  I'll patch your fix and
give it a whirl.

On Thu, Oct 15, 2009 at 11:47 AM, Jonathan Ellis <jbel...@gmail.com> wrote:
> 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
>>>>>
>>>>
>>>
>>
>

Reply via email to