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

Vara Kumar commented on CASSANDRA-5793:
---------------------------------------

Should we apply a patch to handle in this way (return hex value if OPP fails to 
encode bytes to UTF-8 instead of throwing error) & mark OPP as unsupported in 
relevant documentation?

                
> 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.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

Reply via email to