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)