cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-4621) AssertionError in StorageProxy.getRestrictedRange
Date Mon, 10 Sep 2012 18:07:07 GMT

     [ 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

Mime
View raw message