Claudio Atzori created CASSANDRA-4281: -----------------------------------------
Summary: schema agreement accross the nodes Key: CASSANDRA-4281 URL: https://issues.apache.org/jira/browse/CASSANDRA-4281 Project: Cassandra Issue Type: Bug Components: Core Affects Versions: 1.1.0 Reporter: Claudio Atzori I'm creating a cluster of 2 nodes (for now), of cassandra 1.1.0, installed on Ubuntu 10.04 root@node2.d:/etc/cassandra# uname -a Linux node2 2.6.32-5-xen-amd64 #1 SMP Fri Sep 9 22:23:19 UTC 2011 x86_64 GNU/Linux with all defaults in cassandra.yaml, except for: cluster_name initial_token (I set a 50/50 balancing between the 2 nodes) seeds list (one of the 2 nodes ip address) #listen_address: localhost #rpc_address: localhost The 2 nodes recognize each other root@node2.d:/etc/cassandra# nodetool ring Address DC Rack Status State Load Effective-Owership Token 85070591730234615865843651857942052864 146.48.122.136 datacenter1 rack1 Up Normal 28.62 KB 100.00% 0}} 146.48.122.137 datacenter1 rack1 Up Normal 21.79 KB 100.00% 85070591730234615865843651857942052864 But, I'm experiencing an issue. I'm trying to define a new keyspace from the cqlsh. cqlsh> CREATE KEYSPACE efg_mr WITH strategy_class = 'SimpleStrategy' AND strategy_options:replication_factor=2 ; ..and ok, the new keyspace is seen accross the 2 nodes. cqlsh> DESCRIBE KEYSPACE efg_mr ; CREATE KEYSPACE efg_mr WITH strategy_class = 'SimpleStrategy' AND strategy_options:replication_factor = '2'; now I wanted to define a column family: cqlsh> CREATE COLUMNFAMILY records (KEY varchar PRIMARY KEY, title varchar, year varchar) ; at this point I noticed an exception in /var/log/cassandra/output.log ERROR 14:28:47,475 Exception in thread Thread[MigrationStage:1,5,main] java.lang.RuntimeException: java.nio.charset.MalformedInputException: Input length = 1 at org.apache.cassandra.cql3.ColumnIdentifier.<init>(ColumnIdentifier.java:50) at org.apache.cassandra.cql3.CFDefinition.getKeyId(CFDefinition.java:125) at org.apache.cassandra.cql3.CFDefinition.<init>(CFDefinition.java:59) at org.apache.cassandra.config.CFMetaData.updateCfDef(CFMetaData.java:1278) at org.apache.cassandra.config.CFMetaData.keyAlias(CFMetaData.java:221) at org.apache.cassandra.config.CFMetaData.fromSchemaNoColumns(CFMetaData.java:1162) at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1190) at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:291) at org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:358) at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:270) at org.apache.cassandra.db.DefsTable.mergeRemoteSchema(DefsTable.java:248) at org.apache.cassandra.db.DefinitionsUpdateVerbHandler$1.runMayThrow(DefinitionsUpdateVerbHandler.java:48) at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: java.nio.charset.MalformedInputException: Input length = 1 at java.nio.charset.CoderResult.throwException(CoderResult.java:260) at java.nio.charset.CharsetDecoder.decode(CharsetDecoder.java:781) at org.apache.cassandra.utils.ByteBufferUtil.string(ByteBufferUtil.java:163) at org.apache.cassandra.utils.ByteBufferUtil.string(ByteBufferUtil.java:120) at org.apache.cassandra.cql3.ColumnIdentifier.<init>(ColumnIdentifier.java:46) ... 18 more and from now on, only one of the 2 nodes knows about the new column family, the other one somehow hasn't been informed, or didn't complete the agreement on the new column family. Since I'm creating a new cluster I tried several times to drop all the data (rm -rf /var/lib/cassandra/*) and starting over again. But sometimes this error happens on the column family definition, sometimes after a CREATE INDEX command. Am I doing something wrong? -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira