You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jeremy Hanna (JIRA)" <ji...@apache.org> on 2013/07/23 12:34:48 UTC
[jira] [Commented] (CASSANDRA-5793) OPP seems completely
unsupported
[ 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