You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Stefania (JIRA)" <ji...@apache.org> on 2017/03/23 03:23:41 UTC

[jira] [Commented] (CASSANDRA-13366) Possible AssertionError in UnfilteredRowIteratorWithLowerBound

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

Stefania commented on CASSANDRA-13366:
--------------------------------------

Thanks for fixing this [~slebresne], it LGTM and the comments you've added are extremely useful.

CI results also look good.

Two typos, [here|https://github.com/pcmanus/cassandra/commit/f7fa6e97581e8e7eab739c584878bb1ea564f18a#commitcomment-21451015] and [here|https://github.com/pcmanus/cassandra/commit/f7fa6e97581e8e7eab739c584878bb1ea564f18a#commitcomment-21450989]. 

I also assume that [{{mayOverlapWith(}}|https://github.com/pcmanus/cassandra/commit/f7fa6e97581e8e7eab739c584878bb1ea564f18a#diff-894e091348f28001de5b7fe88e65733fL2016] was removed despite being public, because it is unreliable in the presence of range tombstones and compact tables, so I think it's justifiable.


> Possible AssertionError in UnfilteredRowIteratorWithLowerBound
> --------------------------------------------------------------
>
>                 Key: CASSANDRA-13366
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13366
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Sylvain Lebresne
>            Assignee: Sylvain Lebresne
>             Fix For: 3.11.x
>
>
> In the code introduced by CASSANDRA-8180, we build a lower bound for a partition (sometimes) based on the min clustering values of the stats file. We can't do that if the sstable has and range tombston marker and the code does check that this is the case, but unfortunately the check is done using the stats {{minLocalDeletionTime}} but that value isn't populated properly in pre-3.0. This means that if you upgrade from 2.1/2.2 to 3.4+, you may end up getting an exception like
> {noformat}
> WARN  [ReadStage-2] 2017-03-20 13:29:39,165  AbstractLocalAwareExecutorService.java:167 - Uncaught exception on thread Thread[ReadStage-2,5,main]: {}
> java.lang.AssertionError: Lower bound [INCL_START_BOUND(Foo, -9223372036854775808, -9223372036854775808) ]is bigger than first returned value [Marker INCL_START_BOUND(Foo)@1490013810540999] for sstable /var/lib/cassandra/data/system/size_estimates-618f817b005f3678b8a453f3930b8e86/system-size_estimates-ka-1-Data.db
>     at org.apache.cassandra.db.rows.UnfilteredRowIteratorWithLowerBound.computeNext(UnfilteredRowIteratorWithLowerBound.java:122)
> {noformat}
> and this until the sstable is upgraded.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)