You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jake Farrell (JIRA)" <ji...@apache.org> on 2010/11/12 18:32:14 UTC

[jira] Created: (CASSANDRA-1736) ConcurrentModificationException when updating column family metadata

ConcurrentModificationException when updating column family metadata
--------------------------------------------------------------------

                 Key: CASSANDRA-1736
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1736
             Project: Cassandra
          Issue Type: Bug
    Affects Versions: 0.7 beta 3
            Reporter: Jake Farrell


>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.


[jira] Commented: (CASSANDRA-1736) ConcurrentModificationException when updating column family metadata

Posted by "Stu Hood (JIRA)" <ji...@apache.org>.
    [ 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.


[jira] Commented: (CASSANDRA-1736) ConcurrentModificationException when updating column family metadata

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12931616#action_12931616 ] 

Jonathan Ellis commented on CASSANDRA-1736:
-------------------------------------------

One reason I don't think compaction marker belongs in components is that as this bug highlights, we could end up with the marker as part of a snapshot.  Which would cause a more subtle bug.  Here is the order of events:

{code}
My CFS has sstables A B C.
Flush introduces sstable D.
We begin compacting A B C D.
We begin iterating A B C D for snapshot.
During the iteration, compaction finishes producing sstable E.  A B C D are marked compacted.
snapshot finishes, with (say) C D marked compacted.
{code}

Now, the sstable tracker guarantees that we see a consistent view of the sstables -- we will either exactly one of  {A B C D} or {E}.  But by mixing the compaction marker in as a component we now have a snapshot that implies that A and B were live but C and D were compacted, and if we take that snapshot as-is and promote it to live data, when we restart Cassandra will purge C and D since they were marked compacted.

We could band-aid this in a number of ways but I think the less fragile approach is to treat the compaction marker as something separate from components.

> 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: Stu Hood
>             Fix For: 0.7.0
>
>
> 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.


[jira] Commented: (CASSANDRA-1736) ConcurrentModificationException when updating column family metadata

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12932167#action_12932167 ] 

Jonathan Ellis commented on CASSANDRA-1736:
-------------------------------------------

bq. This patch adds the isCompacted method, but it isn't called anywhere

I will remove it.

bq. SSTable.delete() will fail if the SSTable is not marked compacted

If you're referring to 

{code}
            FileUtils.delete(desc.filenameFor(Component.COMPACTED_MARKER));
{code}

I changed that to not use deleteWithConfirm for exactly that reason.

> 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.


[jira] Commented: (CASSANDRA-1736) ConcurrentModificationException when updating column family metadata

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12934090#action_12934090 ] 

Hudson commented on CASSANDRA-1736:
-----------------------------------

Integrated in Cassandra-0.7 #22 (See [https://hudson.apache.org/hudson/job/Cassandra-0.7/22/])
    avoid attempting to delete compacted sstables twice on restart
patch by jbellis to fix regression introduced by CASSANDRA-1736


> 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-v2.txt, 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.


[jira] Commented: (CASSANDRA-1736) ConcurrentModificationException when updating column family metadata

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12933947#action_12933947 ] 

Hudson commented on CASSANDRA-1736:
-----------------------------------

Integrated in Cassandra-0.7 #19 (See [https://hudson.apache.org/hudson/job/Cassandra-0.7/19/])
    fix race between snapshot andcompaction
patch by jbellis; reviewed by gdusbabek for CASSANDRA-1736


> 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-v2.txt, 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.


[jira] Updated: (CASSANDRA-1736) ConcurrentModificationException when updating column family metadata

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1736?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-1736:
--------------------------------------

    Attachment:     (was: 1736-v2.txt)

> 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.


[jira] Updated: (CASSANDRA-1736) ConcurrentModificationException when updating column family metadata

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1736?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-1736:
--------------------------------------

    Attachment: 1736.txt

patch along the above lines

> 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: Stu Hood
>             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.


[jira] Commented: (CASSANDRA-1736) ConcurrentModificationException when updating column family metadata

Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12933873#action_12933873 ] 

Gary Dusbabek commented on CASSANDRA-1736:
------------------------------------------

+1

> 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-v2.txt, 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.


[jira] Updated: (CASSANDRA-1736) ConcurrentModificationException when updating column family metadata

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1736?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-1736:
--------------------------------------

    Attachment: 1736-v2.txt

> 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-v2.txt, 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.


[jira] Updated: (CASSANDRA-1736) ConcurrentModificationException when updating column family metadata

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1736?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-1736:
--------------------------------------

          Component/s: Core
    Affects Version/s:     (was: 0.7 beta 3)
                       0.7 beta 2
        Fix Version/s: 0.7.0
             Assignee: Stu Hood

> 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: Stu Hood
>             Fix For: 0.7.0
>
>
> 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.


[jira] Commented: (CASSANDRA-1736) ConcurrentModificationException when updating column family metadata

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12931614#action_12931614 ] 

Jonathan Ellis commented on CASSANDRA-1736:
-------------------------------------------

This is a regression caused by treating the compaction marker as a component (CASSANDRA-1471, CASSANDRA-1544).  The CME comes when compaction modifies the components set while snapshot is iterating over them; since snapshot begins by flushing, this is actually fairly likely to happen (especially with non-JNA snapshots, i.e., slow ones).

IMO the best fix to this would be to stop treating the compaction marker as a component and make the components set Unmodifiable to close off that avenue of bugs in the future.

> 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
>             Fix For: 0.7.0
>
>
> 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.


[jira] Updated: (CASSANDRA-1736) ConcurrentModificationException when updating column family metadata

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1736?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-1736:
--------------------------------------

    Attachment: 1736-v2.txt

v2 removes boolean and replaces with assert that we're not instantiating a compacted SSTableReader

> 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.