binlijin created HBASE-17118:
--------------------------------

             Summary: StoreScanner leaked in KeyValueHeap
                 Key: HBASE-17118
                 URL: https://issues.apache.org/jira/browse/HBASE-17118
             Project: HBase
          Issue Type: Bug
            Reporter: binlijin


KeyValueHeap#generalizedSeek
      KeyValueScanner scanner = current;
      while (scanner != null) {
        Cell topKey = scanner.peek();
        ......
        boolean seekResult;
        if (isLazy && heap.size() > 0) {
          // If there is only one scanner left, we don't do lazy seek.
          seekResult = scanner.requestSeek(seekKey, forward, useBloom);
        } else {
          seekResult = NonLazyKeyValueScanner.doRealSeek(scanner, seekKey,
              forward);
        }
        ......
        scanner = heap.poll();
      }
(1) scanner = heap.poll();  Retrieves and removes the head of this queue
(2) scanner.requestSeek(seekKey, forward, useBloom); or 
NonLazyKeyValueScanner.doRealSeek(scanner, seekKey, forward);
throw exception, and scanner will have no change to close, so will cause the 
scanner leak.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to