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 Tue, 11 Sep 2012 09:01:08 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

Attaching patch that:
* Don't force positive tokens in Murmur3Partitioner (thus using all the bits of the LongToken).
* Exclude Long.MIN_VALUE from the possible tokens of a key (since it's now the MINIMUM token).

I note that this means tokens can be negative and that we'll have to update a number of documentation
relating to computing tokens. Though this was already the case before this patch (but maybe
to a slightly lesser extend). And hopefully vnodes will make (manual) token computations a
thing of the past.
                
> 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, 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