You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by tf...@apache.org on 2016/10/15 23:55:28 UTC

[16/24] lucene-solr:jira/solr-8396: LUCENE-7495: Fix doc values iterators' assertions in advance().

LUCENE-7495: Fix doc values iterators' assertions in advance().


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/ea121223
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/ea121223
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/ea121223

Branch: refs/heads/jira/solr-8396
Commit: ea1212232d2b95e53bfa6adbbbb3ce7700d3cff4
Parents: 4744673
Author: Adrien Grand <jp...@gmail.com>
Authored: Fri Oct 14 14:37:46 2016 +0200
Committer: Adrien Grand <jp...@gmail.com>
Committed: Fri Oct 14 14:38:32 2016 +0200

----------------------------------------------------------------------
 .../org/apache/lucene/search/join/BlockJoinSelector.java  |  4 +++-
 .../java/org/apache/lucene/index/AssertingLeafReader.java | 10 +++++-----
 2 files changed, 8 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ea121223/lucene/join/src/java/org/apache/lucene/search/join/BlockJoinSelector.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/BlockJoinSelector.java b/lucene/join/src/java/org/apache/lucene/search/join/BlockJoinSelector.java
index 26b416d..a2e0c55 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/BlockJoinSelector.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/BlockJoinSelector.java
@@ -162,7 +162,9 @@ public class BlockJoinSelector {
           return nextDoc();
         }
         int prevParentDocID = parents.prevSetBit(target-1);
-        values.advance(prevParentDocID+1);
+        if (values.docID() <= prevParentDocID) {
+          values.advance(prevParentDocID+1);
+        }
         return nextDoc();
       }
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ea121223/lucene/test-framework/src/java/org/apache/lucene/index/AssertingLeafReader.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/AssertingLeafReader.java b/lucene/test-framework/src/java/org/apache/lucene/index/AssertingLeafReader.java
index d450600..b2958c8 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/AssertingLeafReader.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/AssertingLeafReader.java
@@ -423,7 +423,7 @@ public class AssertingLeafReader extends FilterLeafReader {
     public int advance(int target) throws IOException {
       assertThread("Numeric doc values", creationThread);
       assert target >= 0;
-      assert target >= in.docID();
+      assert target > in.docID();
       int docID = in.advance(target);
       assert docID >= target;
       assert docID == NO_MORE_DOCS || docID < maxDoc;
@@ -488,7 +488,7 @@ public class AssertingLeafReader extends FilterLeafReader {
     public int advance(int target) throws IOException {
       assertThread("Binary doc values", creationThread);
       assert target >= 0;
-      assert target >= in.docID();
+      assert target > in.docID();
       int docID = in.advance(target);
       assert docID >= target;
       assert docID == NO_MORE_DOCS || docID < maxDoc;
@@ -554,7 +554,7 @@ public class AssertingLeafReader extends FilterLeafReader {
     public int advance(int target) throws IOException {
       assertThread("Sorted doc values", creationThread);
       assert target >= 0;
-      assert target >= in.docID();
+      assert target > in.docID();
       int docID = in.advance(target);
       assert docID >= target;
       assert docID == NO_MORE_DOCS || docID < maxDoc;
@@ -648,7 +648,7 @@ public class AssertingLeafReader extends FilterLeafReader {
     public int advance(int target) throws IOException {
       assertThread("Sorted numeric doc values", creationThread);
       assert target >= 0;
-      assert target >= in.docID();
+      assert target > in.docID();
       int docID = in.advance(target);
       assert docID == in.docID();
       assert docID >= target;
@@ -720,7 +720,7 @@ public class AssertingLeafReader extends FilterLeafReader {
     public int advance(int target) throws IOException {
       assertThread("Sorted set doc values", creationThread);
       assert target >= 0;
-      assert target >= in.docID();
+      assert target > in.docID();
       int docID = in.advance(target);
       assert docID == in.docID();
       assert docID >= target;