@@ -367,4 +367,31 @@ public void should_use_page_size() {
367
367
// Should have only fetched 10 (page size) rows.
368
368
assertThat (result .remaining ()).isEqualTo (10 );
369
369
}
370
+
371
+ @ Test
372
+ public void should_not_fail_on_empty_pages () {
373
+ SESSION_RULE
374
+ .session ()
375
+ .execute (
376
+ "CREATE KEYSPACE IF NOT EXISTS ks WITH REPLICATION = {'class': 'SimpleStrategy', 'replication_factor': 1}" );
377
+
378
+ SESSION_RULE
379
+ .session ()
380
+ .execute ("CREATE TABLE IF NOT EXISTS ks.t (pk int, ck int, v int, PRIMARY KEY(pk, ck))" );
381
+
382
+ for (int i = 0 ; i < 50 ; i ++) {
383
+ SESSION_RULE .session ().execute ("INSERT INTO ks.t(pk, ck, v) VALUES (?, ?, ?)" , i , i , 15 );
384
+ SESSION_RULE .session ().execute ("INSERT INTO ks.t(pk, ck, v) VALUES (?, ?, ?)" , i , i , 32 );
385
+ }
386
+
387
+ SESSION_RULE .session ().execute ("INSERT INTO ks.t(pk, ck, v) VALUES (?, ?, ?)" , 8 , 8 , 14 );
388
+ SESSION_RULE .session ().execute ("INSERT INTO ks.t(pk, ck, v) VALUES (?, ?, ?)" , 11 , 11 , 14 );
389
+ SESSION_RULE .session ().execute ("INSERT INTO ks.t(pk, ck, v) VALUES (?, ?, ?)" , 14 , 14 , 14 );
390
+
391
+ SimpleStatement st =
392
+ SimpleStatement .newInstance ("SELECT * FROM ks.t WHERE v = 14 ALLOW FILTERING" );
393
+ st = st .setPageSize (1 );
394
+ List <Row > allRows = SESSION_RULE .session ().execute (st ).all ();
395
+ assertThat (allRows .size ()).isEqualTo (3 );
396
+ }
370
397
}
0 commit comments