protected boolean processUnmatchedBuildIter() throws IOException { if (this.unmatchedBuildVisited) { return false; } this.probeMatchedPhase = false; UnmatchedBuildIterator<BT, PT> unmatchedBuildIter = new UnmatchedBuildIterator<>(this.buildSideSerializer, this.numBuckets, this.bucketsPerSegmentBits, this.bucketsPerSegmentMask, this.buckets, this.partitionsBeingBuilt, probedSet); this.unmatchedBuildIterator = unmatchedBuildIter; // There maybe none unmatched build element, so we add a verification here to make sure we do not return (null, null) to user. if (unmatchedBuildIter.next() == null) { this.unmatchedBuildVisited = true; return false; } unmatchedBuildIter.back(); // While visit the unmatched build elements, the probe element is null, and the unmatchedBuildIterator // would iterate all the unmatched build elements, so we return false during the second calling of this method. this.unmatchedBuildVisited = true; return true; }
protected boolean processUnmatchedBuildIter() throws IOException { if (this.unmatchedBuildVisited) { return false; } this.probeMatchedPhase = false; UnmatchedBuildIterator<BT, PT> unmatchedBuildIter = new UnmatchedBuildIterator<>(this.buildSideSerializer, this.numBuckets, this.bucketsPerSegmentBits, this.bucketsPerSegmentMask, this.buckets, this.partitionsBeingBuilt, probedSet); this.unmatchedBuildIterator = unmatchedBuildIter; // There maybe none unmatched build element, so we add a verification here to make sure we do not return (null, null) to user. if (unmatchedBuildIter.next() == null) { this.unmatchedBuildVisited = true; return false; } unmatchedBuildIter.back(); // While visit the unmatched build elements, the probe element is null, and the unmatchedBuildIterator // would iterate all the unmatched build elements, so we return false during the second calling of this method. this.unmatchedBuildVisited = true; return true; }
protected boolean processUnmatchedBuildIter() throws IOException { if (this.unmatchedBuildVisited) { return false; } this.probeMatchedPhase = false; UnmatchedBuildIterator<BT, PT> unmatchedBuildIter = new UnmatchedBuildIterator<>(this.buildSideSerializer, this.numBuckets, this.bucketsPerSegmentBits, this.bucketsPerSegmentMask, this.buckets, this.partitionsBeingBuilt, probedSet); this.unmatchedBuildIterator = unmatchedBuildIter; // There maybe none unmatched build element, so we add a verification here to make sure we do not return (null, null) to user. if (unmatchedBuildIter.next() == null) { this.unmatchedBuildVisited = true; return false; } unmatchedBuildIter.back(); // While visit the unmatched build elements, the probe element is null, and the unmatchedBuildIterator // would iterate all the unmatched build elements, so we return false during the second calling of this method. this.unmatchedBuildVisited = true; return true; }
protected boolean processUnmatchedBuildIter() throws IOException { if (this.unmatchedBuildVisited) { return false; } this.probeMatchedPhase = false; UnmatchedBuildIterator<BT, PT> unmatchedBuildIter = new UnmatchedBuildIterator<>(this.buildSideSerializer, this.numBuckets, this.bucketsPerSegmentBits, this.bucketsPerSegmentMask, this.buckets, this.partitionsBeingBuilt, probedSet); this.unmatchedBuildIterator = unmatchedBuildIter; // There maybe none unmatched build element, so we add a verification here to make sure we do not return (null, null) to user. if (unmatchedBuildIter.next() == null) { this.unmatchedBuildVisited = true; return false; } unmatchedBuildIter.back(); // While visit the unmatched build elements, the probe element is null, and the unmatchedBuildIterator // would iterate all the unmatched build elements, so we return false during the second calling of this method. this.unmatchedBuildVisited = true; return true; }