You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Peter Lange <pl...@nde.ag> on 2014/11/27 14:25:34 UTC

Column family ID mismatch-Error on concurrent schema modifications

Hi,

We use a four-node Cassandra-Cluster in Version 2.1.2. Our  
Client-Applications creates Tables dynamically. At one point two (or  
more) of our Clients connected to two (or more) different  
Cassandra-Nodes will create the same table simultaneously. We get the  
"Column family ID mismatch"-Error-Messages on every node. Why is this  
simultanous schema modification not possible? How can we handle this?  
Every Help is appreciated.

The lengthy Error-Messages from two nodes follows:

On Node1 we got:

INFO  [SharedPool-Worker-2] 2014-11-26 13:37:28,987  
MigrationManager.java:248 - Create new ColumnFamily:  
org.apache.cassandra.config.CFMetaData@7edad3a3[cfId=fbd24eb0-7568-11e4-bd04-b3ae3abaeff4,ksName=myplayground,cfName=test_table,
INFO  [MigrationStage:1] 2014-11-26 13:37:29,607 DefsTables.java:373 -  
Loading  
org.apache.cassandra.config.CFMetaData@7adc8efd[cfId=fbd24eb0-7568-11e4-bd04-b3ae3abaeff4,ksName=myplayground,cfName=test_table,
INFO  [MigrationStage:1] 2014-11-26 13:37:29,629  
ColumnFamilyStore.java:284 - Initializing myplayground.test_table
ERROR [MigrationStage:1] 2014-11-26 13:37:30,282  
CassandraDaemon.java:153 - Exception in thread  
Thread[MigrationStage:1,5,main]
java.lang.RuntimeException:  
org.apache.cassandra.exceptions.ConfigurationException: Column family  
ID mismatch (
found fbd275c0-7568-11e4-b9ea-3934eddce895; expected  
fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
         at  
org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.db.DefinitionsUpdateVerbHandler$1.runMayThrow(DefinitionsUpdateVerbHandler.java:49)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)  
~[na:1.8.0_25]
         at java.util.concurrent.FutureTask.run(FutureTask.java:266)  
~[na:1.8.0_25]
         at  
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)  
~[na:1.8.0_25]
         at  
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)  
[na:1.8.0_25]
         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
Caused by: org.apache.cassandra.exceptions.ConfigurationException:  
Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895;  
expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
         at  
org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         ... 11 common frames omitted

On Node2 we got:

INFO  [SharedPool-Worker-1] 2014-11-26 13:37:28,989  
MigrationManager.java:248 - Create new ColumnFamily:  
org.apache.cassandra.config.CFMetaData@16d0bc0d[cfId=fbd275c0-7568-11e4-b9ea-3934eddce895,ksName=myplayground,cfName=test_table,
INFO  [MigrationStage:1] 2014-11-26 13:37:29,539 DefsTables.java:373 -  
Loading  
org.apache.cassandra.config.CFMetaData@3777e24b[cfId=fbd24eb0-7568-11e4-bd04-b3ae3abaeff4,ksName=myplayground,cfName=test_table,
INFO  [MigrationStage:1] 2014-11-26 13:37:29,541  
ColumnFamilyStore.java:284 - Initializing myplayground.test_table
ERROR [SharedPool-Worker-1] 2014-11-26 13:37:29,984  
QueryMessage.java:130 - Unexpected error during query
java.lang.RuntimeException: java.util.concurrent.ExecutionException:  
java.lang.RuntimeException:  
org.apache.cassandra.exceptions.ConfigurationException: Column family  
ID mismatch (
found fbd275c0-7568-11e4-b9ea-3934eddce895; expected  
fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
         at  
org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:397)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:374)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.service.MigrationManager.announceNewColumnFamily(MigrationManager.java:249)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.cql3.statements.CreateTableStatement.announceMigration(CreateTableStatement.java:114)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.cql3.statements.SchemaAlteringStatement.execute(SchemaAlteringStatement.java:80)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:226)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:248)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:118)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439)  
[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335)  
[apache-cassandra-2.1.1.jar:2.1.1]
         at  
io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)  
[netty-all-4.0.23.Final.jar:4.0.23.Final]
         at  
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)  
[netty-all-4.0.23.Final.jar:4.0.23.Final]
         at  
io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32)  
[netty-all-4.0.23.Final.jar:4.0.23.Final]
         at  
io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324)  
[netty-all-4.0.23.Final.jar:4.0.23.Final]
         at  
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)  
[na:1.8.0_25]
         at  
org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)  
[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105)  
[apache-cassandra-2.1.1.jar:2.1.1]
         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
Caused by: java.util.concurrent.ExecutionException:  
java.lang.RuntimeException:  
org.apache.cassandra.exceptions.ConfigurationException: Column family  
ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected  
fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
         at  
java.util.concurrent.FutureTask.report(FutureTask.java:122)  
~[na:1.8.0_25]
         at java.util.concurrent.FutureTask.get(FutureTask.java:192)  
~[na:1.8.0_25]
         at  
org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:393)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         ... 17 common frames omitted
Caused by: java.lang.RuntimeException:  
org.apache.cassandra.exceptions.ConfigurationException: Column family  
ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected  
fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
         at  
org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.service.MigrationManager$2.runMayThrow(MigrationManager.java:393)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)  
[na:1.8.0_25]
         at java.util.concurrent.FutureTask.run(FutureTask.java:266)  
~[na:1.8.0_25]
         at  
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)  
~[na:1.8.0_25]
         at  
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)  
~[na:1.8.0_25]
         ... 1 common frames omitted
Caused by: org.apache.cassandra.exceptions.ConfigurationException:  
Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895;  
expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
         at  
org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         ... 11 common frames omitted
ERROR [MigrationStage:1] 2014-11-26 13:37:29,984  
CassandraDaemon.java:153 - Exception in thread  
Thread[MigrationStage:1,5,main]
java.lang.RuntimeException:  
org.apache.cassandra.exceptions.ConfigurationException: Column family  
ID mismatch (
found fbd275c0-7568-11e4-b9ea-3934eddce895; expected  
fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
         at  
org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.service.MigrationManager$2.runMayThrow(MigrationManager.java:393)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)  
~[na:1.8.0_25]
         at java.util.concurrent.FutureTask.run(FutureTask.java:266)  
~[na:1.8.0_25]
         at  
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)  
~[na:1.8.0_25]
         at  
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)  
[na:1.8.0_25]
         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
Caused by: org.apache.cassandra.exceptions.ConfigurationException:  
Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895;  
expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
         at  
org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         ... 11 common frames omitted
ERROR [SharedPool-Worker-1] 2014-11-26 13:37:29,985  
ErrorMessage.java:243 - Unexpected exception during request
java.lang.RuntimeException: java.util.concurrent.ExecutionException:  
java.lang.RuntimeException:  
org.apache.cassandra.exceptions.ConfigurationException: Column family  
ID mismatch (
found fbd275c0-7568-11e4-b9ea-3934eddce895; expected  
fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
         at  
org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:397)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:374)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.service.MigrationManager.announceNewColumnFamily(MigrationManager.java:249)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.cql3.statements.CreateTableStatement.announceMigration(CreateTableStatement.java:114)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.cql3.statements.SchemaAlteringStatement.execute(SchemaAlteringStatement.java:80)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:226)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:248)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:118)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439)  
[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335)  
[apache-cassandra-2.1.1.jar:2.1.1]
         at  
io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)  
[netty-all-4.0.23.Final.jar:4.0.23.Final]
         at  
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)  
[netty-all-4.0.23.Final.jar:4.0.23.Final]
         at  
io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32)  
[netty-all-4.0.23.Final.jar:4.0.23.Final]
         at  
io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324)  
[netty-all-4.0.23.Final.jar:4.0.23.Final]
         at  
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)  
[na:1.8.0_25]
         at  
org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)  
[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105)  
[apache-cassandra-2.1.1.jar:2.1.1]
         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
Caused by: java.util.concurrent.ExecutionException:  
java.lang.RuntimeException:  
org.apache.cassandra.exceptions.ConfigurationException: Column family  
ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected  
fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
         at  
java.util.concurrent.FutureTask.report(FutureTask.java:122)  
~[na:1.8.0_25]
         at java.util.concurrent.FutureTask.get(FutureTask.java:192)  
~[na:1.8.0_25]
         at  
org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:393)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         ... 17 common frames omitted
Caused by: java.lang.RuntimeException:  
org.apache.cassandra.exceptions.ConfigurationException: Column family  
ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected  
fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
         at  
org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.service.MigrationManager$2.runMayThrow(MigrationManager.java:393)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)  
[na:1.8.0_25]
         at java.util.concurrent.FutureTask.run(FutureTask.java:266)  
~[na:1.8.0_25]
         at  
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)  
~[na:1.8.0_25]
         at  
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)  
~[na:1.8.0_25]
         ... 1 common frames omitted
Caused by: org.apache.cassandra.exceptions.ConfigurationException:  
Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895;  
expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
         at  
org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         at  
org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167)  
~[apache-cassandra-2.1.1.jar:2.1.1]
         ... 11 common frames omitted

with best regards
Peter


Re: Column family ID mismatch-Error on concurrent schema modifications

Posted by "Jens-U. Mozdzen" <jm...@nde.ag>.
Hi DuyHai,

Zitat von DuyHai Doan <do...@gmail.com>:
> Hello Peter

I'm working with Peter and am the one initiating the table creation in  
my code.

> For safe concurrent table creation, use CREATE TABLE xxx IF NOT EXISTS. It

unfortunately, my code already has the "IF NOT EXISTS" clause in the  
create statement, but we see the exceptions nevertheless.

(I'll leave it to Peter to post his test case statements, if required,  
since he has created an isolated test to reliably reproduce the  
problem.)

> will use light weight transaction and you'll have to pay some penalty in
> term of performance but at least the table creation will be linearizable
> Le 27 nov. 2014 14:26, "Peter Lange" <pl...@nde.ag> a écrit :
>
>> Hi,
>>
>> We use a four-node Cassandra-Cluster in Version 2.1.2. Our
>> Client-Applications creates Tables dynamically. At one point two (or more)
>> of our Clients connected to two (or more) different Cassandra-Nodes will
>> create the same table simultaneously. We get the "Column family ID
>> mismatch"-Error-Messages on every node. Why is this simultanous schema
>> modification not possible? How can we handle this? Every Help is
>> appreciated.
>> [...]

Regards,
Jens


Re: Column family ID mismatch-Error on concurrent schema modifications

Posted by Jens-Uwe Mozdzen <jm...@nde.ag>.
Hi Eric,

Zitat von Eric Stevens <mi...@gmail.com>:
> Be careful with creating many dynamically created column families unless
> you're cleaning up old ones to keep the total number of CF's reasonable.
> Having many column families will increase memory pressure and reduce
> overall performance.

will "inactive" CFs be released from C*'s memory after i.e. a few days  
or when under resource pressure? We do intend to have quite some  
hundreds of tables, but with only 10% actively used (no reads nor  
writes) after some time.

These CFs are used as "time buckets", but are to be kept for speedy  
recovery. Of course, this design may be substituted by some external  
backup mechanism, but I'd like to keep that as "plan C" ;)

Regards,
Jens
-- 
Jens-U. Mozdzen                         voice   : +49-40-559 51 75
NDE Netzdesign und -entwicklung AG      fax     : +49-40-559 51 77
Postfach 61 03 15                       mobile  : +49-179-4 98 21 98
D-22423 Hamburg                         e-mail  : jmozdzen@nde.ag

         Vorsitzende des Aufsichtsrates: Angelika Mozdzen
           Sitz und Registergericht: Hamburg, HRB 90934
                   Vorstand: Jens-U. Mozdzen
                    USt-IdNr. DE 814 013 983


Re: Column family ID mismatch-Error on concurrent schema modifications

Posted by Eric Stevens <mi...@gmail.com>.
Be careful with creating many dynamically created column families unless
you're cleaning up old ones to keep the total number of CF's reasonable.
Having many column families will increase memory pressure and reduce
overall performance.

On Thu Nov 27 2014 at 8:19:35 AM DuyHai Doan <do...@gmail.com> wrote:

> Hello Peter
>
> For safe concurrent table creation, use CREATE TABLE xxx IF NOT EXISTS. It
> will use light weight transaction and you'll have to pay some penalty in
> term of performance but at least the table creation will be linearizable
> Le 27 nov. 2014 14:26, "Peter Lange" <pl...@nde.ag> a écrit :
>
> Hi,
>>
>> We use a four-node Cassandra-Cluster in Version 2.1.2. Our
>> Client-Applications creates Tables dynamically. At one point two (or more)
>> of our Clients connected to two (or more) different Cassandra-Nodes will
>> create the same table simultaneously. We get the "Column family ID
>> mismatch"-Error-Messages on every node. Why is this simultanous schema
>> modification not possible? How can we handle this? Every Help is
>> appreciated.
>>
>> The lengthy Error-Messages from two nodes follows:
>>
>> On Node1 we got:
>>
>> INFO  [SharedPool-Worker-2] 2014-11-26 13:37:28,987
>> MigrationManager.java:248 - Create new ColumnFamily:
>> org.apache.cassandra.config.CFMetaData@7edad3a3[cfId=
>> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4,ksName=myplayground,cfName=test_
>> table,
>> INFO  [MigrationStage:1] 2014-11-26 13:37:29,607 DefsTables.java:373 -
>> Loading org.apache.cassandra.config.CFMetaData@7adc8efd[cfId=
>> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4,ksName=myplayground,cfName=test_
>> table,
>> INFO  [MigrationStage:1] 2014-11-26 13:37:29,629
>> ColumnFamilyStore.java:284 - Initializing myplayground.test_table
>> ERROR [MigrationStage:1] 2014-11-26 13:37:30,282 CassandraDaemon.java:153
>> - Exception in thread Thread[MigrationStage:1,5,main]
>> java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException:
>> Column family ID mismatch (
>> found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.db.DefinitionsUpdateVerbHandler$
>> 1.runMayThrow(DefinitionsUpdateVerbHandler.java:49)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>> ~[na:1.8.0_25]
>>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>> ~[na:1.8.0_25]
>>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>> ~[na:1.8.0_25]
>>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>> [na:1.8.0_25]
>>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
>> Caused by: org.apache.cassandra.exceptions.ConfigurationException:
>> Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895;
>> expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         ... 11 common frames omitted
>>
>> On Node2 we got:
>>
>> INFO  [SharedPool-Worker-1] 2014-11-26 13:37:28,989
>> MigrationManager.java:248 - Create new ColumnFamily:
>> org.apache.cassandra.config.CFMetaData@16d0bc0d[cfId=
>> fbd275c0-7568-11e4-b9ea-3934eddce895,ksName=myplayground,cfName=test_
>> table,
>> INFO  [MigrationStage:1] 2014-11-26 13:37:29,539 DefsTables.java:373 -
>> Loading org.apache.cassandra.config.CFMetaData@3777e24b[cfId=
>> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4,ksName=myplayground,cfName=test_
>> table,
>> INFO  [MigrationStage:1] 2014-11-26 13:37:29,541
>> ColumnFamilyStore.java:284 - Initializing myplayground.test_table
>> ERROR [SharedPool-Worker-1] 2014-11-26 13:37:29,984 QueryMessage.java:130
>> - Unexpected error during query
>> java.lang.RuntimeException: java.util.concurrent.ExecutionException:
>> java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException:
>> Column family ID mismatch (
>> found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:397)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:374)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.service.MigrationManager.
>> announceNewColumnFamily(MigrationManager.java:249)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.cql3.statements.CreateTableStatement.
>> announceMigration(CreateTableStatement.java:114)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.cql3.statements.SchemaAlteringStatement.
>> execute(SchemaAlteringStatement.java:80) ~[apache-cassandra-2.1.1.jar:
>> 2.1.1]
>>         at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:226)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:248)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:118)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439)
>> [apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335)
>> [apache-cassandra-2.1.1.jar:2.1.1]
>>         at io.netty.channel.SimpleChannelInboundHandler.channelRead(
>> SimpleChannelInboundHandler.java:105) [netty-all-4.0.23.Final.jar:4.
>> 0.23.Final]
>>         at io.netty.channel.AbstractChannelHandlerContext.
>> invokeChannelRead(AbstractChannelHandlerContext.java:333)
>> [netty-all-4.0.23.Final.jar:4.0.23.Final]
>>         at io.netty.channel.AbstractChannelHandlerContext.access$700(
>> AbstractChannelHandlerContext.java:32) [netty-all-4.0.23.Final.jar:4.
>> 0.23.Final]
>>         at io.netty.channel.AbstractChannelHandlerContext$8.run(
>> AbstractChannelHandlerContext.java:324) [netty-all-4.0.23.Final.jar:4.
>> 0.23.Final]
>>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>> [na:1.8.0_25]
>>         at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorSe
>> rvice$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
>> [apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105)
>> [apache-cassandra-2.1.1.jar:2.1.1]
>>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
>> Caused by: java.util.concurrent.ExecutionException:
>> java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException:
>> Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895;
>> expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at java.util.concurrent.FutureTask.report(FutureTask.java:122)
>> ~[na:1.8.0_25]
>>         at java.util.concurrent.FutureTask.get(FutureTask.java:192)
>> ~[na:1.8.0_25]
>>         at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:393)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         ... 17 common frames omitted
>> Caused by: java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException:
>> Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895;
>> expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.service.MigrationManager$2.
>> runMayThrow(MigrationManager.java:393) ~[apache-cassandra-2.1.1.jar:
>> 2.1.1]
>>         at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>> [na:1.8.0_25]
>>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>> ~[na:1.8.0_25]
>>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>> ~[na:1.8.0_25]
>>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>> ~[na:1.8.0_25]
>>         ... 1 common frames omitted
>> Caused by: org.apache.cassandra.exceptions.ConfigurationException:
>> Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895;
>> expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         ... 11 common frames omitted
>> ERROR [MigrationStage:1] 2014-11-26 13:37:29,984 CassandraDaemon.java:153
>> - Exception in thread Thread[MigrationStage:1,5,main]
>> java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException:
>> Column family ID mismatch (
>> found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.service.MigrationManager$2.
>> runMayThrow(MigrationManager.java:393) ~[apache-cassandra-2.1.1.jar:
>> 2.1.1]
>>         at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>> ~[na:1.8.0_25]
>>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>> ~[na:1.8.0_25]
>>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>> ~[na:1.8.0_25]
>>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>> [na:1.8.0_25]
>>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
>> Caused by: org.apache.cassandra.exceptions.ConfigurationException:
>> Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895;
>> expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         ... 11 common frames omitted
>> ERROR [SharedPool-Worker-1] 2014-11-26 13:37:29,985 ErrorMessage.java:243
>> - Unexpected exception during request
>> java.lang.RuntimeException: java.util.concurrent.ExecutionException:
>> java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException:
>> Column family ID mismatch (
>> found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:397)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:374)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.service.MigrationManager.
>> announceNewColumnFamily(MigrationManager.java:249)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.cql3.statements.CreateTableStatement.
>> announceMigration(CreateTableStatement.java:114)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.cql3.statements.SchemaAlteringStatement.
>> execute(SchemaAlteringStatement.java:80) ~[apache-cassandra-2.1.1.jar:
>> 2.1.1]
>>         at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:226)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:248)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:118)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439)
>> [apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335)
>> [apache-cassandra-2.1.1.jar:2.1.1]
>>         at io.netty.channel.SimpleChannelInboundHandler.channelRead(
>> SimpleChannelInboundHandler.java:105) [netty-all-4.0.23.Final.jar:4.
>> 0.23.Final]
>>         at io.netty.channel.AbstractChannelHandlerContext.
>> invokeChannelRead(AbstractChannelHandlerContext.java:333)
>> [netty-all-4.0.23.Final.jar:4.0.23.Final]
>>         at io.netty.channel.AbstractChannelHandlerContext.access$700(
>> AbstractChannelHandlerContext.java:32) [netty-all-4.0.23.Final.jar:4.
>> 0.23.Final]
>>         at io.netty.channel.AbstractChannelHandlerContext$8.run(
>> AbstractChannelHandlerContext.java:324) [netty-all-4.0.23.Final.jar:4.
>> 0.23.Final]
>>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>> [na:1.8.0_25]
>>         at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorSe
>> rvice$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
>> [apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105)
>> [apache-cassandra-2.1.1.jar:2.1.1]
>>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
>> Caused by: java.util.concurrent.ExecutionException:
>> java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException:
>> Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895;
>> expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at java.util.concurrent.FutureTask.report(FutureTask.java:122)
>> ~[na:1.8.0_25]
>>         at java.util.concurrent.FutureTask.get(FutureTask.java:192)
>> ~[na:1.8.0_25]
>>         at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:393)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         ... 17 common frames omitted
>> Caused by: java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException:
>> Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895;
>> expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.service.MigrationManager$2.
>> runMayThrow(MigrationManager.java:393) ~[apache-cassandra-2.1.1.jar:
>> 2.1.1]
>>         at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>> [na:1.8.0_25]
>>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>> ~[na:1.8.0_25]
>>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>> ~[na:1.8.0_25]
>>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>> ~[na:1.8.0_25]
>>         ... 1 common frames omitted
>> Caused by: org.apache.cassandra.exceptions.ConfigurationException:
>> Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895;
>> expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         ... 11 common frames omitted
>>
>> with best regards
>> Peter
>>
>>

Re: Column family ID mismatch-Error on concurrent schema modifications

Posted by "Jens-U. Mozdzen" <jm...@nde.ag>.
Hi Eric,

Zitat von Eric Stevens <mi...@gmail.com>:
> @Jens,
>
>> will "inactive" CFs be released from C*'s memory after i.e. a few days
>> or when under resource pressure?
>
> No, certain memory structures are allocated and will remain resident on
> each node for as long as the table exists.

That's good to know, while not so good for our current design ;)

>> These CFs are used as "time buckets", but are to be kept for speedy
> recovery
>
> I would recommend a structure where you include time bucket as part of your
> primary key and use a single column family for all time buckets.  Use TTL's
> if you want this old data to expire automatically after some certain amount
> of time.

Just FYI:

We've had a severe impact on access times when running in single-CF  
mode, because each bucket itself is quite big (large number of rows,  
but with small records). That's when we turned to separating data into  
CFs per "time bucket", using TTLs to auto-expire data and deleting the  
CF once the count of rows dropped to zero. We're talking about  
millions of (small) records here, not "thousands". Per bucket.

As we created an architecture that will let us switch between these  
models, we'll re-test to check the performance impact of both variants.

Best regards,
Jens


Re: Column family ID mismatch-Error on concurrent schema modifications

Posted by Eric Stevens <mi...@gmail.com>.
@Jens,

> will "inactive" CFs be released from C*'s memory after i.e. a few days
> or when under resource pressure?

No, certain memory structures are allocated and will remain resident on
each node for as long as the table exists.

> These CFs are used as "time buckets", but are to be kept for speedy
recovery

I would recommend a structure where you include time bucket as part of your
primary key and use a single column family for all time buckets.  Use TTL's
if you want this old data to expire automatically after some certain amount
of time.

On Fri Nov 28 2014 at 10:04:38 AM Robert Wille <rw...@fold3.com> wrote:

>  I would suggest that dynamic table creation is, in general, not a great
> idea, regardless of the database. I would seriously consider altering your
> approach to use a fixed set of tables.
>
>  On Nov 28, 2014, at 1:53 AM, Marcus Olsson <ma...@ericsson.com>
> wrote:
>
>  Hi,
>
> We encountered the same problem and created a JIRA for it:
> https://issues.apache.org/jira/browse/CASSANDRA-8387 .
>
> /Marcus O
>
> On 11/27/2014 04:19 PM, DuyHai Doan wrote:
>
> Hello Peter
>
> For safe concurrent table creation, use CREATE TABLE xxx IF NOT EXISTS. It
> will use light weight transaction and you'll have to pay some penalty in
> term of performance but at least the table creation will be linearizable
> Le 27 nov. 2014 14:26, "Peter Lange" <pl...@nde.ag> a écrit :
>
>> Hi,
>>
>> We use a four-node Cassandra-Cluster in Version 2.1.2. Our
>> Client-Applications creates Tables dynamically. At one point two (or more)
>> of our Clients connected to two (or more) different Cassandra-Nodes will
>> create the same table simultaneously. We get the "Column family ID
>> mismatch"-Error-Messages on every node. Why is this simultanous schema
>> modification not possible? How can we handle this? Every Help is
>> appreciated.
>>
>> The lengthy Error-Messages from two nodes follows:
>>
>> On Node1 we got:
>>
>> INFO  [SharedPool-Worker-2] 2014-11-26 13:37:28,987
>> MigrationManager.java:248 - Create new ColumnFamily:
>> org.apache.cassandra.config.CFMetaData@7edad3a3
>> [cfId=fbd24eb0-7568-11e4-bd04-b3ae3abaeff4,ksName=myplayground,cfName=test_table,
>> INFO  [MigrationStage:1] 2014-11-26 13:37:29,607 DefsTables.java:373 -
>> Loading org.apache.cassandra.config.CFMetaData@7adc8efd
>> [cfId=fbd24eb0-7568-11e4-bd04-b3ae3abaeff4,ksName=myplayground,cfName=test_table,
>> INFO  [MigrationStage:1] 2014-11-26 13:37:29,629
>> ColumnFamilyStore.java:284 - Initializing myplayground.test_table
>> ERROR [MigrationStage:1] 2014-11-26 13:37:30,282 CassandraDaemon.java:153
>> - Exception in thread Thread[MigrationStage:1,5,main]
>> java.lang.RuntimeException:
>> org.apache.cassandra.exceptions.ConfigurationException: Column family ID
>> mismatch (
>> found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at
>> org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.db.DefinitionsUpdateVerbHandler$1.runMayThrow(DefinitionsUpdateVerbHandler.java:49)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>> ~[na:1.8.0_25]
>>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>> ~[na:1.8.0_25]
>>         at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>> ~[na:1.8.0_25]
>>         at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>> [na:1.8.0_25]
>>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
>> Caused by: org.apache.cassandra.exceptions.ConfigurationException: Column
>> family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at
>> org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         ... 11 common frames omitted
>>
>> On Node2 we got:
>>
>> INFO  [SharedPool-Worker-1] 2014-11-26 13:37:28,989
>> MigrationManager.java:248 - Create new ColumnFamily:
>> org.apache.cassandra.config.CFMetaData@16d0bc0d
>> [cfId=fbd275c0-7568-11e4-b9ea-3934eddce895,ksName=myplayground,cfName=test_table,
>> INFO  [MigrationStage:1] 2014-11-26 13:37:29,539 DefsTables.java:373 -
>> Loading org.apache.cassandra.config.CFMetaData@3777e24b
>> [cfId=fbd24eb0-7568-11e4-bd04-b3ae3abaeff4,ksName=myplayground,cfName=test_table,
>> INFO  [MigrationStage:1] 2014-11-26 13:37:29,541
>> ColumnFamilyStore.java:284 - Initializing myplayground.test_table
>> ERROR [SharedPool-Worker-1] 2014-11-26 13:37:29,984 QueryMessage.java:130
>> - Unexpected error during query
>> java.lang.RuntimeException: java.util.concurrent.ExecutionException:
>> java.lang.RuntimeException:
>> org.apache.cassandra.exceptions.ConfigurationException: Column family ID
>> mismatch (
>> found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at
>> org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:397)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:374)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.service.MigrationManager.announceNewColumnFamily(MigrationManager.java:249)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.cql3.statements.CreateTableStatement.announceMigration(CreateTableStatement.java:114)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.cql3.statements.SchemaAlteringStatement.execute(SchemaAlteringStatement.java:80)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:226)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:248)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:118)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439)
>> [apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335)
>> [apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
>> [netty-all-4.0.23.Final.jar:4.0.23.Final]
>>         at
>> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
>> [netty-all-4.0.23.Final.jar:4.0.23.Final]
>>         at
>> io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32)
>> [netty-all-4.0.23.Final.jar:4.0.23.Final]
>>         at
>> io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324)
>> [netty-all-4.0.23.Final.jar:4.0.23.Final]
>>         at
>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>> [na:1.8.0_25]
>>         at
>> org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
>> [apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105)
>> [apache-cassandra-2.1.1.jar:2.1.1]
>>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
>> Caused by: java.util.concurrent.ExecutionException:
>> java.lang.RuntimeException:
>> org.apache.cassandra.exceptions.ConfigurationException: Column family ID
>> mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at java.util.concurrent.FutureTask.report(FutureTask.java:122)
>> ~[na:1.8.0_25]
>>         at java.util.concurrent.FutureTask.get(FutureTask.java:192)
>> ~[na:1.8.0_25]
>>         at
>> org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:393)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         ... 17 common frames omitted
>> Caused by: java.lang.RuntimeException:
>> org.apache.cassandra.exceptions.ConfigurationException: Column family ID
>> mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at
>> org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.service.MigrationManager$2.runMayThrow(MigrationManager.java:393)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>> [na:1.8.0_25]
>>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>> ~[na:1.8.0_25]
>>         at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>> ~[na:1.8.0_25]
>>         at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>> ~[na:1.8.0_25]
>>         ... 1 common frames omitted
>> Caused by: org.apache.cassandra.exceptions.ConfigurationException: Column
>> family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at
>> org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         ... 11 common frames omitted
>> ERROR [MigrationStage:1] 2014-11-26 13:37:29,984 CassandraDaemon.java:153
>> - Exception in thread Thread[MigrationStage:1,5,main]
>> java.lang.RuntimeException:
>> org.apache.cassandra.exceptions.ConfigurationException: Column family ID
>> mismatch (
>> found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at
>> org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.service.MigrationManager$2.runMayThrow(MigrationManager.java:393)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>> ~[na:1.8.0_25]
>>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>> ~[na:1.8.0_25]
>>         at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>> ~[na:1.8.0_25]
>>         at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>> [na:1.8.0_25]
>>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
>> Caused by: org.apache.cassandra.exceptions.ConfigurationException: Column
>> family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at
>> org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         ... 11 common frames omitted
>> ERROR [SharedPool-Worker-1] 2014-11-26 13:37:29,985 ErrorMessage.java:243
>> - Unexpected exception during request
>> java.lang.RuntimeException: java.util.concurrent.ExecutionException:
>> java.lang.RuntimeException:
>> org.apache.cassandra.exceptions.ConfigurationException: Column family ID
>> mismatch (
>> found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at
>> org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:397)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:374)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.service.MigrationManager.announceNewColumnFamily(MigrationManager.java:249)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.cql3.statements.CreateTableStatement.announceMigration(CreateTableStatement.java:114)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.cql3.statements.SchemaAlteringStatement.execute(SchemaAlteringStatement.java:80)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:226)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:248)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:118)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439)
>> [apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335)
>> [apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
>> [netty-all-4.0.23.Final.jar:4.0.23.Final]
>>         at
>> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
>> [netty-all-4.0.23.Final.jar:4.0.23.Final]
>>         at
>> io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32)
>> [netty-all-4.0.23.Final.jar:4.0.23.Final]
>>         at
>> io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324)
>> [netty-all-4.0.23.Final.jar:4.0.23.Final]
>>         at
>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>> [na:1.8.0_25]
>>         at
>> org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
>> [apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105)
>> [apache-cassandra-2.1.1.jar:2.1.1]
>>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
>> Caused by: java.util.concurrent.ExecutionException:
>> java.lang.RuntimeException:
>> org.apache.cassandra.exceptions.ConfigurationException: Column family ID
>> mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at java.util.concurrent.FutureTask.report(FutureTask.java:122)
>> ~[na:1.8.0_25]
>>         at java.util.concurrent.FutureTask.get(FutureTask.java:192)
>> ~[na:1.8.0_25]
>>         at
>> org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:393)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         ... 17 common frames omitted
>> Caused by: java.lang.RuntimeException:
>> org.apache.cassandra.exceptions.ConfigurationException: Column family ID
>> mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at
>> org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.service.MigrationManager$2.runMayThrow(MigrationManager.java:393)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>> [na:1.8.0_25]
>>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>> ~[na:1.8.0_25]
>>         at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>> ~[na:1.8.0_25]
>>         at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>> ~[na:1.8.0_25]
>>         ... 1 common frames omitted
>> Caused by: org.apache.cassandra.exceptions.ConfigurationException: Column
>> family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>>         at
>> org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         at
>> org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167)
>> ~[apache-cassandra-2.1.1.jar:2.1.1]
>>         ... 11 common frames omitted
>>
>> with best regards
>> Peter
>>
>>
>
>

Re: Column family ID mismatch-Error on concurrent schema modifications

Posted by Robert Wille <rw...@fold3.com>.
I would suggest that dynamic table creation is, in general, not a great idea, regardless of the database. I would seriously consider altering your approach to use a fixed set of tables.

On Nov 28, 2014, at 1:53 AM, Marcus Olsson <ma...@ericsson.com>> wrote:

Hi,

We encountered the same problem and created a JIRA for it: https://issues.apache.org/jira/browse/CASSANDRA-8387 .

/Marcus O

On 11/27/2014 04:19 PM, DuyHai Doan wrote:

Hello Peter

For safe concurrent table creation, use CREATE TABLE xxx IF NOT EXISTS. It will use light weight transaction and you'll have to pay some penalty in term of performance but at least the table creation will be linearizable

Le 27 nov. 2014 14:26, "Peter Lange" <pl...@nde.ag>> a écrit :
Hi,

We use a four-node Cassandra-Cluster in Version 2.1.2. Our Client-Applications creates Tables dynamically. At one point two (or more) of our Clients connected to two (or more) different Cassandra-Nodes will create the same table simultaneously. We get the "Column family ID mismatch"-Error-Messages on every node. Why is this simultanous schema modification not possible? How can we handle this? Every Help is appreciated.

The lengthy Error-Messages from two nodes follows:

On Node1 we got:

INFO  [SharedPool-Worker-2] 2014-11-26 13:37:28,987 MigrationManager.java:248 - Create new ColumnFamily: org.apache.cassandra.config.CFMetaData@7edad3a3[cfId=fbd24eb0-7568-11e4-bd04-b3ae3abaeff4,ksName=myplayground,cfName=test_table,
INFO  [MigrationStage:1] 2014-11-26 13:37:29,607 DefsTables.java:373 - Loading org.apache.cassandra.config.CFMetaData@7adc8efd[cfId=fbd24eb0-7568-11e4-bd04-b3ae3abaeff4,ksName=myplayground,cfName=test_table,
INFO  [MigrationStage:1] 2014-11-26 13:37:29,629 ColumnFamilyStore.java:284 - Initializing myplayground.test_table
ERROR [MigrationStage:1] 2014-11-26 13:37:30,282 CassandraDaemon.java:153 - Exception in thread Thread[MigrationStage:1,5,main]
java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException: Column family ID mismatch (
found fbd275c0-7568-11e4-b9ea-3934eddce895; expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
        at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.db.DefinitionsUpdateVerbHandler$1.runMayThrow(DefinitionsUpdateVerbHandler.java:49) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_25]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_25]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_25]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_25]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
Caused by: org.apache.cassandra.exceptions.ConfigurationException: Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
        at org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167) ~[apache-cassandra-2.1.1.jar:2.1.1]
        ... 11 common frames omitted

On Node2 we got:

INFO  [SharedPool-Worker-1] 2014-11-26 13:37:28,989 MigrationManager.java:248 - Create new ColumnFamily: org.apache.cassandra.config.CFMetaData@16d0bc0d[cfId=fbd275c0-7568-11e4-b9ea-3934eddce895,ksName=myplayground,cfName=test_table,
INFO  [MigrationStage:1] 2014-11-26 13:37:29,539 DefsTables.java:373 - Loading org.apache.cassandra.config.CFMetaData@3777e24b[cfId=fbd24eb0-7568-11e4-bd04-b3ae3abaeff4,ksName=myplayground,cfName=test_table,
INFO  [MigrationStage:1] 2014-11-26 13:37:29,541 ColumnFamilyStore.java:284 - Initializing myplayground.test_table
ERROR [SharedPool-Worker-1] 2014-11-26 13:37:29,984 QueryMessage.java:130 - Unexpected error during query
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException: Column family ID mismatch (
found fbd275c0-7568-11e4-b9ea-3934eddce895; expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
        at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:397) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:374) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.service.MigrationManager.announceNewColumnFamily(MigrationManager.java:249) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.cql3.statements.CreateTableStatement.announceMigration(CreateTableStatement.java:114) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.cql3.statements.SchemaAlteringStatement.execute(SchemaAlteringStatement.java:80) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:226) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:248) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:118) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439) [apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335) [apache-cassandra-2.1.1.jar:2.1.1]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [netty-all-4.0.23.Final.jar:4.0.23.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) [netty-all-4.0.23.Final.jar:4.0.23.Final]
        at io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32) [netty-all-4.0.23.Final.jar:4.0.23.Final]
        at io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324) [netty-all-4.0.23.Final.jar:4.0.23.Final]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_25]
        at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164) [apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) [apache-cassandra-2.1.1.jar:2.1.1]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException: Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
        at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[na:1.8.0_25]
        at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[na:1.8.0_25]
        at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:393) ~[apache-cassandra-2.1.1.jar:2.1.1]
        ... 17 common frames omitted
Caused by: java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException: Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
        at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.service.MigrationManager$2.runMayThrow(MigrationManager.java:393) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_25]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_25]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_25]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_25]
        ... 1 common frames omitted
Caused by: org.apache.cassandra.exceptions.ConfigurationException: Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
        at org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167) ~[apache-cassandra-2.1.1.jar:2.1.1]
        ... 11 common frames omitted
ERROR [MigrationStage:1] 2014-11-26 13:37:29,984 CassandraDaemon.java:153 - Exception in thread Thread[MigrationStage:1,5,main]
java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException: Column family ID mismatch (
found fbd275c0-7568-11e4-b9ea-3934eddce895; expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
        at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.service.MigrationManager$2.runMayThrow(MigrationManager.java:393) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_25]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_25]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_25]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_25]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
Caused by: org.apache.cassandra.exceptions.ConfigurationException: Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
        at org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167) ~[apache-cassandra-2.1.1.jar:2.1.1]
        ... 11 common frames omitted
ERROR [SharedPool-Worker-1] 2014-11-26 13:37:29,985 ErrorMessage.java:243 - Unexpected exception during request
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException: Column family ID mismatch (
found fbd275c0-7568-11e4-b9ea-3934eddce895; expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
        at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:397) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:374) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.service.MigrationManager.announceNewColumnFamily(MigrationManager.java:249) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.cql3.statements.CreateTableStatement.announceMigration(CreateTableStatement.java:114) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.cql3.statements.SchemaAlteringStatement.execute(SchemaAlteringStatement.java:80) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:226) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:248) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:118) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439) [apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335) [apache-cassandra-2.1.1.jar:2.1.1]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [netty-all-4.0.23.Final.jar:4.0.23.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) [netty-all-4.0.23.Final.jar:4.0.23.Final]
        at io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32) [netty-all-4.0.23.Final.jar:4.0.23.Final]
        at io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324) [netty-all-4.0.23.Final.jar:4.0.23.Final]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_25]
        at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164) [apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) [apache-cassandra-2.1.1.jar:2.1.1]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException: Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
        at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[na:1.8.0_25]
        at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[na:1.8.0_25]
        at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:393) ~[apache-cassandra-2.1.1.jar:2.1.1]
        ... 17 common frames omitted
Caused by: java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException: Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
        at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.service.MigrationManager$2.runMayThrow(MigrationManager.java:393) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_25]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_25]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_25]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_25]
        ... 1 common frames omitted
Caused by: org.apache.cassandra.exceptions.ConfigurationException: Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
        at org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186) ~[apache-cassandra-2.1.1.jar:2.1.1]
        at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167) ~[apache-cassandra-2.1.1.jar:2.1.1]
        ... 11 common frames omitted

with best regards
Peter




Re: Column family ID mismatch-Error on concurrent schema modifications

Posted by Marcus Olsson <ma...@ericsson.com>.
Hi,

We encountered the same problem and created a JIRA for it: 
https://issues.apache.org/jira/browse/CASSANDRA-8387 .

/Marcus O

On 11/27/2014 04:19 PM, DuyHai Doan wrote:
>
> Hello Peter
>
> For safe concurrent table creation, use CREATE TABLE xxx IF NOT 
> EXISTS. It will use light weight transaction and you'll have to pay 
> some penalty in term of performance but at least the table creation 
> will be linearizable
>
> Le 27 nov. 2014 14:26, "Peter Lange" <plange@nde.ag 
> <ma...@nde.ag>> a écrit :
>
>     Hi,
>
>     We use a four-node Cassandra-Cluster in Version 2.1.2. Our
>     Client-Applications creates Tables dynamically. At one point two
>     (or more) of our Clients connected to two (or more) different
>     Cassandra-Nodes will create the same table simultaneously. We get
>     the "Column family ID mismatch"-Error-Messages on every node. Why
>     is this simultanous schema modification not possible? How can we
>     handle this? Every Help is appreciated.
>
>     The lengthy Error-Messages from two nodes follows:
>
>     On Node1 we got:
>
>     INFO  [SharedPool-Worker-2] 2014-11-26 13:37:28,987
>     MigrationManager.java:248 - Create new ColumnFamily:
>     org.apache.cassandra.config.CFMetaData@7edad3a3[cfId=fbd24eb0-7568-11e4-bd04-b3ae3abaeff4,ksName=myplayground,cfName=test_table,
>     INFO  [MigrationStage:1] 2014-11-26 13:37:29,607
>     DefsTables.java:373 - Loading
>     org.apache.cassandra.config.CFMetaData@7adc8efd[cfId=fbd24eb0-7568-11e4-bd04-b3ae3abaeff4,ksName=myplayground,cfName=test_table,
>     INFO  [MigrationStage:1] 2014-11-26 13:37:29,629
>     ColumnFamilyStore.java:284 - Initializing myplayground.test_table
>     ERROR [MigrationStage:1] 2014-11-26 13:37:30,282
>     CassandraDaemon.java:153 - Exception in thread
>     Thread[MigrationStage:1,5,main]
>     java.lang.RuntimeException:
>     org.apache.cassandra.exceptions.ConfigurationException: Column
>     family ID mismatch (
>     found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>     fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>             at
>     org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171) ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166) ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.db.DefinitionsUpdateVerbHandler$1.runMayThrow(DefinitionsUpdateVerbHandler.java:49)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>     ~[na:1.8.0_25]
>             at
>     java.util.concurrent.FutureTask.run(FutureTask.java:266)
>     ~[na:1.8.0_25]
>             at
>     java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>     ~[na:1.8.0_25]
>             at
>     java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>     [na:1.8.0_25]
>             at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
>     Caused by: org.apache.cassandra.exceptions.ConfigurationException:
>     Column family ID mismatch (found
>     fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>     fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>             at
>     org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167) ~[apache-cassandra-2.1.1.jar:2.1.1]
>             ... 11 common frames omitted
>
>     On Node2 we got:
>
>     INFO  [SharedPool-Worker-1] 2014-11-26 13:37:28,989
>     MigrationManager.java:248 - Create new ColumnFamily:
>     org.apache.cassandra.config.CFMetaData@16d0bc0d[cfId=fbd275c0-7568-11e4-b9ea-3934eddce895,ksName=myplayground,cfName=test_table,
>     INFO  [MigrationStage:1] 2014-11-26 13:37:29,539
>     DefsTables.java:373 - Loading
>     org.apache.cassandra.config.CFMetaData@3777e24b[cfId=fbd24eb0-7568-11e4-bd04-b3ae3abaeff4,ksName=myplayground,cfName=test_table,
>     INFO  [MigrationStage:1] 2014-11-26 13:37:29,541
>     ColumnFamilyStore.java:284 - Initializing myplayground.test_table
>     ERROR [SharedPool-Worker-1] 2014-11-26 13:37:29,984
>     QueryMessage.java:130 - Unexpected error during query
>     java.lang.RuntimeException:
>     java.util.concurrent.ExecutionException:
>     java.lang.RuntimeException:
>     org.apache.cassandra.exceptions.ConfigurationException: Column
>     family ID mismatch (
>     found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>     fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>             at
>     org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:397)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:374)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.service.MigrationManager.announceNewColumnFamily(MigrationManager.java:249)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.cql3.statements.CreateTableStatement.announceMigration(CreateTableStatement.java:114)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.cql3.statements.SchemaAlteringStatement.execute(SchemaAlteringStatement.java:80)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:226)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:248)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:118)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439)
>     [apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335)
>     [apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
>     [netty-all-4.0.23.Final.jar:4.0.23.Final]
>             at
>     io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
>     [netty-all-4.0.23.Final.jar:4.0.23.Final]
>             at
>     io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32)
>     [netty-all-4.0.23.Final.jar:4.0.23.Final]
>             at
>     io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324)
>     [netty-all-4.0.23.Final.jar:4.0.23.Final]
>             at
>     java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>     [na:1.8.0_25]
>             at
>     org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
>     [apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105)
>     [apache-cassandra-2.1.1.jar:2.1.1]
>             at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
>     Caused by: java.util.concurrent.ExecutionException:
>     java.lang.RuntimeException:
>     org.apache.cassandra.exceptions.ConfigurationException: Column
>     family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895;
>     expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>             at
>     java.util.concurrent.FutureTask.report(FutureTask.java:122)
>     ~[na:1.8.0_25]
>             at
>     java.util.concurrent.FutureTask.get(FutureTask.java:192)
>     ~[na:1.8.0_25]
>             at
>     org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:393)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             ... 17 common frames omitted
>     Caused by: java.lang.RuntimeException:
>     org.apache.cassandra.exceptions.ConfigurationException: Column
>     family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895;
>     expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>             at
>     org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171) ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166) ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.service.MigrationManager$2.runMayThrow(MigrationManager.java:393)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>     [na:1.8.0_25]
>             at
>     java.util.concurrent.FutureTask.run(FutureTask.java:266)
>     ~[na:1.8.0_25]
>             at
>     java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>     ~[na:1.8.0_25]
>             at
>     java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>     ~[na:1.8.0_25]
>             ... 1 common frames omitted
>     Caused by: org.apache.cassandra.exceptions.ConfigurationException:
>     Column family ID mismatch (found
>     fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>     fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>             at
>     org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167) ~[apache-cassandra-2.1.1.jar:2.1.1]
>             ... 11 common frames omitted
>     ERROR [MigrationStage:1] 2014-11-26 13:37:29,984
>     CassandraDaemon.java:153 - Exception in thread
>     Thread[MigrationStage:1,5,main]
>     java.lang.RuntimeException:
>     org.apache.cassandra.exceptions.ConfigurationException: Column
>     family ID mismatch (
>     found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>     fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>             at
>     org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171) ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166) ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.service.MigrationManager$2.runMayThrow(MigrationManager.java:393)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>     ~[na:1.8.0_25]
>             at
>     java.util.concurrent.FutureTask.run(FutureTask.java:266)
>     ~[na:1.8.0_25]
>             at
>     java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>     ~[na:1.8.0_25]
>             at
>     java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>     [na:1.8.0_25]
>             at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
>     Caused by: org.apache.cassandra.exceptions.ConfigurationException:
>     Column family ID mismatch (found
>     fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>     fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>             at
>     org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167) ~[apache-cassandra-2.1.1.jar:2.1.1]
>             ... 11 common frames omitted
>     ERROR [SharedPool-Worker-1] 2014-11-26 13:37:29,985
>     ErrorMessage.java:243 - Unexpected exception during request
>     java.lang.RuntimeException:
>     java.util.concurrent.ExecutionException:
>     java.lang.RuntimeException:
>     org.apache.cassandra.exceptions.ConfigurationException: Column
>     family ID mismatch (
>     found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>     fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>             at
>     org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:397)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:374)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.service.MigrationManager.announceNewColumnFamily(MigrationManager.java:249)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.cql3.statements.CreateTableStatement.announceMigration(CreateTableStatement.java:114)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.cql3.statements.SchemaAlteringStatement.execute(SchemaAlteringStatement.java:80)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:226)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:248)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:118)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439)
>     [apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335)
>     [apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
>     [netty-all-4.0.23.Final.jar:4.0.23.Final]
>             at
>     io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
>     [netty-all-4.0.23.Final.jar:4.0.23.Final]
>             at
>     io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32)
>     [netty-all-4.0.23.Final.jar:4.0.23.Final]
>             at
>     io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324)
>     [netty-all-4.0.23.Final.jar:4.0.23.Final]
>             at
>     java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>     [na:1.8.0_25]
>             at
>     org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
>     [apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105)
>     [apache-cassandra-2.1.1.jar:2.1.1]
>             at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
>     Caused by: java.util.concurrent.ExecutionException:
>     java.lang.RuntimeException:
>     org.apache.cassandra.exceptions.ConfigurationException: Column
>     family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895;
>     expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>             at
>     java.util.concurrent.FutureTask.report(FutureTask.java:122)
>     ~[na:1.8.0_25]
>             at
>     java.util.concurrent.FutureTask.get(FutureTask.java:192)
>     ~[na:1.8.0_25]
>             at
>     org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:393)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             ... 17 common frames omitted
>     Caused by: java.lang.RuntimeException:
>     org.apache.cassandra.exceptions.ConfigurationException: Column
>     family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895;
>     expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>             at
>     org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171) ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166) ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.service.MigrationManager$2.runMayThrow(MigrationManager.java:393)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>     [na:1.8.0_25]
>             at
>     java.util.concurrent.FutureTask.run(FutureTask.java:266)
>     ~[na:1.8.0_25]
>             at
>     java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>     ~[na:1.8.0_25]
>             at
>     java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>     ~[na:1.8.0_25]
>             ... 1 common frames omitted
>     Caused by: org.apache.cassandra.exceptions.ConfigurationException:
>     Column family ID mismatch (found
>     fbd275c0-7568-11e4-b9ea-3934eddce895; expected
>     fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>             at
>     org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186)
>     ~[apache-cassandra-2.1.1.jar:2.1.1]
>             at
>     org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167) ~[apache-cassandra-2.1.1.jar:2.1.1]
>             ... 11 common frames omitted
>
>     with best regards
>     Peter
>


Re: Column family ID mismatch-Error on concurrent schema modifications

Posted by DuyHai Doan <do...@gmail.com>.
Hello Peter

For safe concurrent table creation, use CREATE TABLE xxx IF NOT EXISTS. It
will use light weight transaction and you'll have to pay some penalty in
term of performance but at least the table creation will be linearizable
Le 27 nov. 2014 14:26, "Peter Lange" <pl...@nde.ag> a écrit :

> Hi,
>
> We use a four-node Cassandra-Cluster in Version 2.1.2. Our
> Client-Applications creates Tables dynamically. At one point two (or more)
> of our Clients connected to two (or more) different Cassandra-Nodes will
> create the same table simultaneously. We get the "Column family ID
> mismatch"-Error-Messages on every node. Why is this simultanous schema
> modification not possible? How can we handle this? Every Help is
> appreciated.
>
> The lengthy Error-Messages from two nodes follows:
>
> On Node1 we got:
>
> INFO  [SharedPool-Worker-2] 2014-11-26 13:37:28,987
> MigrationManager.java:248 - Create new ColumnFamily:
> org.apache.cassandra.config.CFMetaData@7edad3a3[cfId=
> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4,ksName=myplayground,cfName=test_
> table,
> INFO  [MigrationStage:1] 2014-11-26 13:37:29,607 DefsTables.java:373 -
> Loading org.apache.cassandra.config.CFMetaData@7adc8efd[cfId=
> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4,ksName=myplayground,cfName=test_
> table,
> INFO  [MigrationStage:1] 2014-11-26 13:37:29,629
> ColumnFamilyStore.java:284 - Initializing myplayground.test_table
> ERROR [MigrationStage:1] 2014-11-26 13:37:30,282 CassandraDaemon.java:153
> - Exception in thread Thread[MigrationStage:1,5,main]
> java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException:
> Column family ID mismatch (
> found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>         at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.db.DefinitionsUpdateVerbHandler$
> 1.runMayThrow(DefinitionsUpdateVerbHandler.java:49)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> ~[na:1.8.0_25]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> ~[na:1.8.0_25]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> ~[na:1.8.0_25]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> [na:1.8.0_25]
>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
> Caused by: org.apache.cassandra.exceptions.ConfigurationException: Column
> family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>         at org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         ... 11 common frames omitted
>
> On Node2 we got:
>
> INFO  [SharedPool-Worker-1] 2014-11-26 13:37:28,989
> MigrationManager.java:248 - Create new ColumnFamily:
> org.apache.cassandra.config.CFMetaData@16d0bc0d[cfId=
> fbd275c0-7568-11e4-b9ea-3934eddce895,ksName=myplayground,cfName=test_
> table,
> INFO  [MigrationStage:1] 2014-11-26 13:37:29,539 DefsTables.java:373 -
> Loading org.apache.cassandra.config.CFMetaData@3777e24b[cfId=
> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4,ksName=myplayground,cfName=test_
> table,
> INFO  [MigrationStage:1] 2014-11-26 13:37:29,541
> ColumnFamilyStore.java:284 - Initializing myplayground.test_table
> ERROR [SharedPool-Worker-1] 2014-11-26 13:37:29,984 QueryMessage.java:130
> - Unexpected error during query
> java.lang.RuntimeException: java.util.concurrent.ExecutionException:
> java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException:
> Column family ID mismatch (
> found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>         at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:397)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:374)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.service.MigrationManager.
> announceNewColumnFamily(MigrationManager.java:249)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.cql3.statements.CreateTableStatement.
> announceMigration(CreateTableStatement.java:114)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.cql3.statements.SchemaAlteringStatement.
> execute(SchemaAlteringStatement.java:80) ~[apache-cassandra-2.1.1.jar:
> 2.1.1]
>         at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:226)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:248)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:118)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439)
> [apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335)
> [apache-cassandra-2.1.1.jar:2.1.1]
>         at io.netty.channel.SimpleChannelInboundHandler.channelRead(
> SimpleChannelInboundHandler.java:105) [netty-all-4.0.23.Final.jar:4.
> 0.23.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.
> invokeChannelRead(AbstractChannelHandlerContext.java:333)
> [netty-all-4.0.23.Final.jar:4.0.23.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.access$700(
> AbstractChannelHandlerContext.java:32) [netty-all-4.0.23.Final.jar:4.
> 0.23.Final]
>         at io.netty.channel.AbstractChannelHandlerContext$8.run(
> AbstractChannelHandlerContext.java:324) [netty-all-4.0.23.Final.jar:4.
> 0.23.Final]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> [na:1.8.0_25]
>         at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorSe
> rvice$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
> [apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105)
> [apache-cassandra-2.1.1.jar:2.1.1]
>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
> Caused by: java.util.concurrent.ExecutionException:
> java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException:
> Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895;
> expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>         at java.util.concurrent.FutureTask.report(FutureTask.java:122)
> ~[na:1.8.0_25]
>         at java.util.concurrent.FutureTask.get(FutureTask.java:192)
> ~[na:1.8.0_25]
>         at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:393)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         ... 17 common frames omitted
> Caused by: java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException:
> Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895;
> expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>         at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.service.MigrationManager$2.
> runMayThrow(MigrationManager.java:393) ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> [na:1.8.0_25]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> ~[na:1.8.0_25]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> ~[na:1.8.0_25]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> ~[na:1.8.0_25]
>         ... 1 common frames omitted
> Caused by: org.apache.cassandra.exceptions.ConfigurationException: Column
> family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>         at org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         ... 11 common frames omitted
> ERROR [MigrationStage:1] 2014-11-26 13:37:29,984 CassandraDaemon.java:153
> - Exception in thread Thread[MigrationStage:1,5,main]
> java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException:
> Column family ID mismatch (
> found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>         at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.service.MigrationManager$2.
> runMayThrow(MigrationManager.java:393) ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> ~[na:1.8.0_25]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> ~[na:1.8.0_25]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> ~[na:1.8.0_25]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> [na:1.8.0_25]
>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
> Caused by: org.apache.cassandra.exceptions.ConfigurationException: Column
> family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>         at org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         ... 11 common frames omitted
> ERROR [SharedPool-Worker-1] 2014-11-26 13:37:29,985 ErrorMessage.java:243
> - Unexpected exception during request
> java.lang.RuntimeException: java.util.concurrent.ExecutionException:
> java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException:
> Column family ID mismatch (
> found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>         at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:397)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:374)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.service.MigrationManager.
> announceNewColumnFamily(MigrationManager.java:249)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.cql3.statements.CreateTableStatement.
> announceMigration(CreateTableStatement.java:114)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.cql3.statements.SchemaAlteringStatement.
> execute(SchemaAlteringStatement.java:80) ~[apache-cassandra-2.1.1.jar:
> 2.1.1]
>         at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:226)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:248)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:118)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439)
> [apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335)
> [apache-cassandra-2.1.1.jar:2.1.1]
>         at io.netty.channel.SimpleChannelInboundHandler.channelRead(
> SimpleChannelInboundHandler.java:105) [netty-all-4.0.23.Final.jar:4.
> 0.23.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.
> invokeChannelRead(AbstractChannelHandlerContext.java:333)
> [netty-all-4.0.23.Final.jar:4.0.23.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.access$700(
> AbstractChannelHandlerContext.java:32) [netty-all-4.0.23.Final.jar:4.
> 0.23.Final]
>         at io.netty.channel.AbstractChannelHandlerContext$8.run(
> AbstractChannelHandlerContext.java:324) [netty-all-4.0.23.Final.jar:4.
> 0.23.Final]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> [na:1.8.0_25]
>         at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorSe
> rvice$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
> [apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105)
> [apache-cassandra-2.1.1.jar:2.1.1]
>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
> Caused by: java.util.concurrent.ExecutionException:
> java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException:
> Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895;
> expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>         at java.util.concurrent.FutureTask.report(FutureTask.java:122)
> ~[na:1.8.0_25]
>         at java.util.concurrent.FutureTask.get(FutureTask.java:192)
> ~[na:1.8.0_25]
>         at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:393)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         ... 17 common frames omitted
> Caused by: java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException:
> Column family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895;
> expected fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>         at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.service.MigrationManager$2.
> runMayThrow(MigrationManager.java:393) ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> [na:1.8.0_25]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> ~[na:1.8.0_25]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> ~[na:1.8.0_25]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> ~[na:1.8.0_25]
>         ... 1 common frames omitted
> Caused by: org.apache.cassandra.exceptions.ConfigurationException: Column
> family ID mismatch (found fbd275c0-7568-11e4-b9ea-3934eddce895; expected
> fbd24eb0-7568-11e4-bd04-b3ae3abaeff4)
>         at org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1254)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1186)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1167)
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>         ... 11 common frames omitted
>
> with best regards
> Peter
>
>