Say I have a table with 50M rows in a keyspace with RF=3 in a cluster of 15 nodes (single local data center). When I do "SELECT * FROM table" and page through those results (with a fetch size of say 1000), I'd like to understand better how that paging works.
Specifically, what determines the order in which which rows are returned? And what's happening under the hood...i.e. is the coordinator fetching pages of 1000 from each node, passing some sort of paging state to each node, and the coordinator merges the per-node sorted result sets?
I thought maybe the results would be sorted by partition key, but that doesn't seem to be the case (I'm not 100% sure about this).
I'm also curious how consistency level comes into play. i.e. if I use ONE vs. QUORUM vs. ALL, how that impacts where the results come from and how they're ordered, merged, and who knows what else I don't know... :-)
Very curious how this works. Thanks in advance!