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

    https://github.com/apache/accumulo/pull/159#discussion_r84902206
  
    --- Diff: 
core/src/main/java/org/apache/accumulo/core/iterators/OrIterator.java ---
    @@ -219,8 +224,14 @@ public void seek(Range range, Collection<ByteSequence> 
columnFamilies, boolean i
           // 1) NOT an iterator
           // 2) we have seeked into the next term (ie: seek man, get man001)
           // then ignore it as a valid source
    -      if (!(TS.iter.hasTop()) || ((TS.term != null) && 
(TS.term.compareTo(TS.iter.getTopKey().getColumnFamily()) != 0)))
    +      if (!(TS.iter.hasTop()) || ((TS.term != null) && 
(TS.term.compareTo(TS.iter.getTopKey().getColumnFamily()) != 0))) {
    +        try {
    +          TS.close();
    --- End diff --
    
    I agree but it seemed suspicious before I made any changes. Here is the 
code from before my change. I don't understand why the iter removes the element 
but still adds TS to the queue...
    if (!(TS.iter.hasTop()) || ((TS.term != null) && 
(TS.term.compareTo(TS.iter.getTopKey().getColumnFamily()) != 0)))
            iter.remove();
    
          // Otherwise, source is valid. Add it to the sources.
          sorted.add(TS);


---
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