[
https://issues.apache.org/jira/browse/CASSANDRA-4621?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sylvain Lebresne updated CASSANDRA-4621:
----------------------------------------
Attachment: 4621.txt
Pretty sure this has nothing to do with CQL. But the trace shows a token that
is negative, which should not happen. So my guess is that it's because the new
Murmur3Partitioner can generate negative token while it shouldn't. Patch
attached to fix (there was 2 places where a negative could be generated, one
was because the special case of Long.MIN_VALUE wasn't handled, the other was
that we weren't taking the absolute value at all for random token. Both should
be fixed though this is probably the latter that produced the error here since
it's way more likely to happen).
> AssertionError in StorageProxy.getRestrictedRange
> -------------------------------------------------
>
> Key: CASSANDRA-4621
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4621
> Project: Cassandra
> Issue Type: Bug
> Affects Versions: 1.2.0 beta 1
> Environment: archlinux, openjdk7
> Reporter: Pierre-Yves Ritschard
> Assignee: Sylvain Lebresne
> Fix For: 1.2.0 beta 1
>
> Attachments: 4621.txt
>
>
> On a freshly built cassandra from trunk, I can create a column family with a
> composite row key using the syntax:
> for instance a standard eventlog CF:
> CREATE TABLE events (
> facility text,
> prio int,
> message text,
> PRIMARY KEY ( (facility, prio) )
> );
> A simple query will then generate exceptions:
> SELECT * FROM events; will yield:
> ERROR 15:33:40,383 Exception in thread Thread[Thrift:1,5,main]
> java.lang.AssertionError: [min(0),max(-8021625467324731134)]
> at org.apache.cassandra.dht.Bounds.<init>(Bounds.java:41)
> at org.apache.cassandra.dht.Bounds.split(Bounds.java:59)
> at
> org.apache.cassandra.service.StorageProxy.getRestrictedRanges(StorageProxy.java:1073)
> at
> org.apache.cassandra.service.StorageProxy.getRangeSlice(StorageProxy.java:879)
> at
> org.apache.cassandra.cql3.statements.SelectStatement.multiRangeSlice(SelectStatement.java:209)
> at
> org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:128)
> at
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:118)
> at
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:62)
> at
> org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:107)
> at
> org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:115)
> at
> org.apache.cassandra.thrift.CassandraServer.execute_cql_query(CassandraServer.java:1521)
> at
> org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3618)
> at
> org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3606)
> at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
> at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
> at
> org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:184)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
--
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