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

Sylvain Lebresne commented on CASSANDRA-11963:
----------------------------------------------

Appears my brain wasn't fully functional on my previous comment. 
{{PagingState.remaining}} is about how much row should be returned before 
hitting your global (query) limit. That is, if you do {{SELECT ... LIMIT 
10000}}, we need to keep track of where we are of that {{10000}} limit somehow 
and it can't be reset. Now, the part I brain-farted is that this limit is 
really not related to paging, it just happen that we currently use an {{int}} 
for the query {{LIMIT}} and thus are limited to {{Integer.MAX_INT}} paging or 
no paging.

Now, when the use do set a {{LIMIT}}, I don't think the {{Integer.MAX_INT}} 
limit is a huge deal, and while we should probably still switch to a {{long}} 
in the long run (which should be doable on trunk since "I think" we use vints 
everywhere it matters), it's probably fine to keep that limitation in 2.1/2.2. 
What we should fix though is when users don't {{LIMIT}} the query. In that 
case, we currently use {{Integer.MAX_INT}} but don't special case more than 
that, which mean we effectively silently limit the query and that's not great. 
So we should special case {{Integer.MAX_INT}} in the paging code to really mean 
no limit and have it act like so (in which case we can indeed do so in 2.1/2.2 
since in that case we'll basically ignore {{PagingState.remaining}} and can 
have it be {{Integer.MAX_INT}} on every page). For 3.0 though, we can probably 
just stick with switching to a {{long}} for the limit and 
{{PagingState.remaining}} (assuming I'm not missing a reason why we can't do 
so). 

> Paged queries limited to Integer.MAX_VALUE total rows
> -----------------------------------------------------
>
>                 Key: CASSANDRA-11963
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11963
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Adam Holmberg
>            Priority: Minor
>             Fix For: 2.1.x, 2.2.x
>
>
> Paged queries are artificially limited to Integer.MAX_INT rows in total. This 
> appears to be related to PagingState.remaining, which decrements 
> monotonically as pages are consumed. 
> I don't think this is intentional behavior, and haven't found any mention of 
> it in the docs.
> Issue observed in latest 2.1 and 2.2 releases. Does not occur in 3.x



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to