diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2021-10-26 21:22:57 +0200 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2021-10-26 21:23:13 +0200 |
commit | 39296e1fae437cfdb907a1169ac00d70d5ed0679 (patch) | |
tree | d06095f98f8d9cf3dbd7ea275ea7c5a321b3f364 /documentapi/src/test/java/com | |
parent | 71ee71009627591dd4f5d19db030df5d109c9043 (diff) |
Skip to slice after progress token has been updated, after dist bit count change
Diffstat (limited to 'documentapi/src/test/java/com')
-rwxr-xr-x | documentapi/src/test/java/com/yahoo/documentapi/VisitorIteratorTestCase.java | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/documentapi/src/test/java/com/yahoo/documentapi/VisitorIteratorTestCase.java b/documentapi/src/test/java/com/yahoo/documentapi/VisitorIteratorTestCase.java index fb5f5bd2cfb..5457b0be471 100755 --- a/documentapi/src/test/java/com/yahoo/documentapi/VisitorIteratorTestCase.java +++ b/documentapi/src/test/java/com/yahoo/documentapi/VisitorIteratorTestCase.java @@ -118,8 +118,28 @@ public class VisitorIteratorTestCase { // Iterator with a single distribution bit ignores slicing. assertTrue(iter.hasNext()); - assertEquals(ProgressToken.toBucketId(0, 1), iter.getNext().getSuperbucket()); - assertEquals(ProgressToken.toBucketId(1, 1), iter.getNext().getSuperbucket()); + + VisitorIterator.BucketProgress first = iter.getNext(); + assertEquals(ProgressToken.toBucketId(0, 1), first.getSuperbucket()); + + VisitorIterator.BucketProgress second = iter.getNext(); + assertEquals(ProgressToken.toBucketId(1, 1), second.getSuperbucket()); + + assertFalse(iter.hasNext()); + + // Handling wrong distributino reply, but inconsistent state due to the other, active bucket. + iter.update(first.getSuperbucket(), first.getProgress()); + iter.setDistributionBitCount(2); + assertEquals(2, iter.getDistributionBitCount()); + assertEquals(1, progress.getDistributionBitCount()); + + // All buckets returned, now the actual distribution bit count change occurs. + iter.update(second.getSuperbucket(), second.getProgress()); + assertEquals(2, iter.getDistributionBitCount()); + assertEquals(2, progress.getDistributionBitCount()); + + assertTrue(iter.hasNext()); + assertEquals(ProgressToken.toBucketId(2, 2), iter.getNext().getSuperbucket()); assertFalse(iter.hasNext()); } |