Github user phrocker commented on a diff in the pull request:

    https://github.com/apache/accumulo/pull/247#discussion_r111038914
  
    --- Diff: 
core/src/main/java/org/apache/accumulo/core/iterators/OrIterator.java ---
    @@ -80,59 +128,103 @@ public int compareTo(TermSource o) {
           // sorted after they have been determined to be valid.
           return 
this.iter.getTopKey().compareColumnQualifier(o.iter.getTopKey().getColumnQualifier());
         }
    +
    +    /**
    +     * Converts the given {@code Range} into the correct {@code Range} for 
this TermSource (per this expected table structure) and then seeks this 
TermSource's
    +     * SKVI.
    +     */
    +    public void seek(Range originalRange) throws IOException {
    +      // the infinite start key is equivalent to a null startKey on the 
Range.
    +      if (!originalRange.isInfiniteStartKey()) {
    +        Key originalStartKey = originalRange.getStartKey();
    +        // Pivot the provided range into the range for this term
    +        Key newKey = new Key(originalStartKey.getRow(), term, 
originalStartKey.getColumnQualifier(), originalStartKey.getTimestamp());
    +        // Construct the new range, preserving the other attributes on the 
provided range.
    +        currentRange = new Range(newKey, 
originalRange.isStartKeyInclusive(), originalRange.getEndKey(), 
originalRange.isEndKeyInclusive());
    --- End diff --
    
    Are you sure you want to trust the start key  inclusivity flag if you are 
setting term in the new key above?  Seems like if you're adjusting the range 
you want to make your key inclusive. Am I wrong in my logic?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to