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" <pla...@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
>
>

Reply via email to