You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2012/06/04 23:04:23 UTC

[jira] [Reopened] (CASSANDRA-4281) schema agreement accross the nodes

     [ https://issues.apache.org/jira/browse/CASSANDRA-4281?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis reopened CASSANDRA-4281:
---------------------------------------

      Assignee: Pavel Yaskevich
    
> 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
>            Assignee: Pavel Yaskevich
>
> 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