cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeremy Hanna (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-5793) OPP seems completely unsupported
Date Tue, 23 Jul 2013 10:34:48 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-5793?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13716289#comment-13716289
] 

Jeremy Hanna commented on CASSANDRA-5793:
-----------------------------------------

See https://github.com/apache/cassandra/blob/cassandra-1.2.6/NEWS.txt#L184-L186

You can't change partitioner once the data has been written.  Row of data are ordered in sstables
according to the partitioner.  You can upgrade to 1.1.x or stay at 0.7, then using Hadoop
or a batch job, you can read from your existing cluster and write to a different cluster running
1.2.6 with your new partitioner.
                
> OPP seems completely unsupported
> --------------------------------
>
>                 Key: CASSANDRA-5793
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5793
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.2.5
>         Environment: Cassandra on Ubuntu
>            Reporter: Vara Kumar
>             Fix For: 1.2.7
>
>
> We were using 0.7.6 version. And upgraded to 1.2.5 today. We were using OPP (OrderPreservingPartitioner).
> OPP throws error when any node join the cluster. Cluster can not be brought up due to
this error. After digging little deep, We realized that "peers" column family is defined with
key as type "inet". Looks like many other column families in system keyspace has same issue.
> Exception trace:
> java.lang.RuntimeException: The provided key was not UTF8 encoded.
> 	at org.apache.cassandra.dht.OrderPreservingPartitioner.getToken(OrderPreservingPartitioner.java:172)
> 	at org.apache.cassandra.dht.OrderPreservingPartitioner.decorateKey(OrderPreservingPartitioner.java:44)
> 	at org.apache.cassandra.db.Table.apply(Table.java:379)
> 	at org.apache.cassandra.db.Table.apply(Table.java:353)
> 	at org.apache.cassandra.db.RowMutation.apply(RowMutation.java:258)
> 	at org.apache.cassandra.cql3.statements.ModificationStatement.executeInternal(ModificationStatement.java:117)
> 	at org.apache.cassandra.cql3.QueryProcessor.processInternal(QueryProcessor.java:172)
> 	at org.apache.cassandra.db.SystemTable.updatePeerInfo(SystemTable.java:258)
> 	at org.apache.cassandra.service.StorageService.onChange(StorageService.java:1231)
> 	at org.apache.cassandra.service.StorageService.onJoin(StorageService.java:1948)
> 	at org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:823)
> 	at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:901)
> 	at org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:50)
> Possibilities:
> - Changing partitioner to BOP (or something else) fails while loading schema_keyspaces.
So, it does not look like an option.
> - One possibility is that getToken of OPP can return hex value if it fails to encode
bytes to UTF-8 instead of throwing error. By this system tables seem to be working fine with
OPP.
> - Or Completely remove OPP from code base & configuration files. Mark clearly that
OPP is no longer supported in upgrade instructions.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message