I filed a JIRA https://issues.apache.org/jira/browse/CASSANDRA-11741 to track this.
From: DuyHai Doan [mailto:doanduy...@gmail.com] Sent: 2016年5月10日 12:47 To: user@cassandra.apache.org Subject: Re: A question to 'paging' support in DataStax java driver I guess it's technically possible but then we'll need to update the binary protocol. Just create a JIRA and ask for this feature On Tue, May 10, 2016 at 5:00 AM, Lu, Boying <boying...@emc.com<mailto:boying...@emc.com>> wrote: Thanks very much. I understand that the data needs to be read from the DB to get the next ‘PagingState’. But is it possible not to return those data to the client side, just returning the ‘PagingState’? I.e. the data is read on the server side, but not return to client side, this can save some bandwidth between client and server. From: DuyHai Doan [mailto:doanduy...@gmail.com<mailto:doanduy...@gmail.com>] Sent: 2016年5月9日 21:06 To: user@cassandra.apache.org<mailto:user@cassandra.apache.org> Subject: Re: A question to 'paging' support in DataStax java driver In a truly consistent world (should I say "snapshot isolation" world instead), re-reading the same page should yield the same results no matter how many new inserts have occurred since the last page read. Caching previous page at app level can be a solution but not viable if the amount of data is huge, also you'll need a cache layer and deal with cache invalidation etc ... The point is, providing snapshot isolation in a distributed system is hard without some sort of synchronous coordination e.g. global lock (read http://www.bailis.org/papers/hat-vldb2014.pdf) On Mon, May 9, 2016 at 2:17 PM, Bhuvan Rawal <bhu1ra...@gmail.com<mailto:bhu1ra...@gmail.com>> wrote: Hi Doan, What does it have to do being eventual consistency? Lets assume a scenario with complete consistency and we are at page X, and at the same time some inserts/updates happened at page X-2 and we jumped to that. User will see inconsistent page in that case as well, right? Also in such cases how would you design a user facing application (Cache previous pages at app level?) Regards, Bhuvan On Mon, May 9, 2016 at 4:18 PM, DuyHai Doan <doanduy...@gmail.com<mailto:doanduy...@gmail.com>> wrote: "Is it possible to just return PagingState object without returning data?" --> No Simply because before reading the actual data for each page of N rows, you cannot know at which token value a page of data starts... And it is worst than that, with paging you don't have any isolation. Let's suppose you keep in your application/web front-end the paging states for page 1, 2 and 3. Since there are concurrent inserts on the cluster at the same time, when you re-use the paging state 2 for example, you may not get the same results as the previous read. And it is inevitable in an eventual consistent distributed DB world On Mon, May 9, 2016 at 12:25 PM, Lu, Boying <boying...@emc.com<mailto:boying...@emc.com>> wrote: dHi, All, We are considering to use DataStax java driver in our codes. One important feature provided by the driver we want to use is ‘paging’. But according to the https://datastax.github.io/java-driver/3.0.0/manual/paging/, it seems that we can’t jump between pages. Is it possible to just return PagingState object without returning data? e.g. If I want to jump to the page 5 from the page 1, I need to go through each page from page 1 to page 5, Is it possible to just return the PagingState object of page 1, 2, 3 and 4 without actual data of each page? This can save some bandwidth at least. Thanks in advance. Boying