incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Takenori Sato(Cloudian)" <ts...@cloudian.com>
Subject Re: OrderPreservingPartitioner in 1.2
Date Mon, 26 Aug 2013 02:21:52 GMT
 From the Jira,

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

This looks like an option to try for me.

Thanks!

(2013/08/23 20:44), Vara Kumar wrote:
> For the first exception: OPP was not working in 1.2. It has been fixed 
> but not yet there in latest 1.2.8 version.
>
> Jira issue about it: https://issues.apache.org/jira/browse/CASSANDRA-5793
>
>
> On Fri, Aug 23, 2013 at 12:51 PM, Takenori Sato <tsato@cloudian.com 
> <mailto:tsato@cloudian.com>> wrote:
>
>     Hi,
>
>     I know it has been depreciated, but OrderPreservingPartitioner
>     still works with 1.2?
>
>     Just wanted to know how it works, but I got a couple of exceptions
>     as below:
>
>     ERROR [GossipStage:2] 2013-08-23 07:03:57,171 CassandraDaemon.java
>     (line 175) Exception in thread Thread[GossipStage:2,5,main]
>     java.lang.RuntimeException: The provided key was not UTF8 encoded.
>     at
>     org.apache.cassandra.dht.OrderPreservingPartitioner.getToken(OrderPreservingPartitioner.java:233)
>     at
>     org.apache.cassandra.dht.OrderPreservingPartitioner.decorateKey(OrderPreservingPartitioner.java:53)
>     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:1228)
>     at
>     org.apache.cassandra.gms.Gossiper.doNotifications(Gossiper.java:935)
>     at org.apache.cassandra.gms.Gossiper.applyNewStates(Gossiper.java:926)
>     at
>     org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:884)
>     at
>     org.apache.cassandra.gms.GossipDigestAckVerbHandler.doVerb(GossipDigestAckVerbHandler.java:57)
>     at
>     org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:56)
>     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:167)
>     at
>     org.apache.cassandra.utils.ByteBufferUtil.string(ByteBufferUtil.java:124)
>     at
>     org.apache.cassandra.dht.OrderPreservingPartitioner.getToken(OrderPreservingPartitioner.java:229)
>     ... 16 more
>
>     The key was "0ab68145" in HEX, that contains some control characters.
>
>     Another exception is this:
>
>      INFO [main] 2013-08-23 07:04:27,659 StorageService.java (line
>     891) JOINING: Starting to bootstrap...
>     DEBUG [main] 2013-08-23 07:04:27,659 BootStrapper.java (line 73)
>     Beginning bootstrap process
>     ERROR [main] 2013-08-23 07:04:27,666 CassandraDaemon.java (line
>     430) Exception encountered during startup
>     java.lang.IllegalStateException: No sources found for (H,H]
>     at
>     org.apache.cassandra.dht.RangeStreamer.getAllRangesWithSourcesFor(RangeStreamer.java:163)
>     at
>     org.apache.cassandra.dht.RangeStreamer.addRanges(RangeStreamer.java:121)
>     at
>     org.apache.cassandra.dht.BootStrapper.bootstrap(BootStrapper.java:81)
>     at
>     org.apache.cassandra.service.StorageService.bootstrap(StorageService.java:924)
>     at
>     org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:693)
>     at
>     org.apache.cassandra.service.StorageService.initServer(StorageService.java:548)
>     at
>     org.apache.cassandra.service.StorageService.initServer(StorageService.java:445)
>     at
>     org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:325)
>     at
>     org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:413)
>     at
>     org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:456)
>     ERROR [StorageServiceShutdownHook] 2013-08-23 07:04:27,672
>     CassandraDaemon.java (line 175) Exception in thread
>     Thread[StorageServiceShutdownHook,5,main]
>     java.lang.NullPointerException
>     at
>     org.apache.cassandra.service.StorageService.stopRPCServer(StorageService.java:321)
>     at
>     org.apache.cassandra.service.StorageService.shutdownClientServers(StorageService.java:362)
>     at
>     org.apache.cassandra.service.StorageService.access$000(StorageService.java:88)
>     at
>     org.apache.cassandra.service.StorageService$1.runMayThrow(StorageService.java:513)
>     at
>     org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
>     at java.lang.Thread.run(Thread.java:662)
>
>     I tried to setup 3 nodes cluster with tokens, A, H, P for each.
>     This error was raised by the second node with the token, H.
>
>     Thanks,
>     Takenori
>
>


Mime
View raw message