Hi Ahmed, The java driver docs do a good job explaining how the driver uses paging, including providing a sequence diagram that describes the flow of the process: https://docs.datastax.com/en/developer/java-driver/3.5/manual/paging/
The driver requests X rows (5000 by default, controlled via QueryOptions.setFetchSize <https://docs.datastax.com/en/drivers/java/3.5/com/datastax/driver/core/QueryOptions.html#setFetchSize-int->) at a time. When C* replies, it returns a 'paging state' id which identifies where in the result set (partition and clustering key) to continue retrieving the next set of rows. When you continue iterating over the result set in the java driver and hit the end of the current page, it will send another request to C* using that paging state to get the next set of rows. Thanks, Andy On Tue, Apr 24, 2018 at 9:49 AM, Ahmed Eljami <ahmed.elj...@gmail.com> wrote: > Hello, > > Can someone explain me how paging is implemented ? > > according to the doc of datastax, the goal being to avoid loading much > results in memory. > > Does it mean that the whole partition is not upload to heap memory? > > > C* version: 2.1 > > Java Driver version: 3.0 > > Best regards > >