[ 
https://issues.apache.org/jira/browse/CASSANDRA-1736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12932140#action_12932140
 ] 

Stu Hood commented on CASSANDRA-1736:
-------------------------------------

This patch adds the isCompacted method, but it isn't called anywhere, which 
raises the question: who might call that method in the future, or care that an 
SSTable is compacted?

Also, SSTable.delete() will fail if the SSTable is not marked compacted, for 
instance if the second branch of the 'if' in CFStore is triggered.

> ConcurrentModificationException when updating column family metadata
> --------------------------------------------------------------------
>
>                 Key: CASSANDRA-1736
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1736
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.7 beta 2
>            Reporter: Jake Farrell
>            Assignee: Jonathan Ellis
>             Fix For: 0.7.0
>
>         Attachments: 1736.txt
>
>
> From cli
> > update column family Tweet with column_metadata=[{column_name:state, 
> > validation_class:UTF8Type}]
> > set Tweet [x][state] = TX
> > get Tweet where state = TX
> No index columns present
> > update column family Tweet with column_metadata=[{column_name:state, 
> > index_type:0, validation_class:UTF8Type}]
> null
> > list Tweet
> java.net.SocketException: Broken pipe
> ERROR [MigrationStage:1] 2010-11-12 09:12:28,618 AbstractCassandraDaemon.java 
> (line 90) Fatal exception in thread Thread[Migra$
> java.util.ConcurrentModificationException
>         at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
>         at java.util.HashMap$KeyIterator.next(HashMap.java:828)
>         at 
> org.apache.cassandra.db.ColumnFamilyStore.snapshot(ColumnFamilyStore.java:1495)
>         at 
> org.apache.cassandra.db.migration.UpdateColumnFamily.beforeApplyModels(UpdateColumnFamily.java:76)
>         at 
> org.apache.cassandra.db.migration.Migration.apply(Migration.java:109)
>         at 
> org.apache.cassandra.thrift.CassandraServer$2.call(CassandraServer.java:672)
>         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>         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 [pool-1-thread-5] 2010-11-12 09:12:28,636 CustomTThreadPoolServer.java 
> (line 175) Thrift error occurred during processin$
> org.apache.thrift.protocol.TProtocolException: Required field 'why' was not 
> present! Struct: InvalidRequestException(why:null)
>         at 
> org.apache.cassandra.thrift.InvalidRequestException.validate(InvalidRequestException.java:340)
>         at 
> org.apache.cassandra.thrift.InvalidRequestException.write(InvalidRequestException.java:309)
>         at 
> org.apache.cassandra.thrift.Cassandra$system_update_column_family_result.write(Cassandra.java:26764)
>         at 
> org.apache.cassandra.thrift.Cassandra$Processor$system_update_column_family.process(Cassandra.java:3605)
>         at 
> org.apache.cassandra.thrift.Cassandra$Processor.process(Cassandra.java:2555)
>         at 
> org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:167)
>         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)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to