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 2013/07/30 22:41:49 UTC

[jira] [Resolved] (CASSANDRA-5793) OPP seems completely unsupported

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

Jonathan Ellis resolved CASSANDRA-5793.
---------------------------------------

    Resolution: Fixed
      Reviewer: jbellis

Made the change to OPP in 2ccbe3c6f547511e79454b79cbef682ef8a6973a.

cassandra.yaml has noted that OPP is deprecated in favor of BOP for... years.
                
> 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
>            Priority: Minor
>             Fix For: 1.2.9
>
>
> 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