public List<KeyValueScanner> recreateScanners(List<KeyValueScanner> currentFileScanners,
    boolean cacheBlocks, boolean usePread, boolean isCompaction, ScanQueryMatcher matcher,
    byte[] startRow, boolean includeStartRow, byte[] stopRow, boolean includeStopRow, long readPt,
    boolean includeMemstoreScanner) throws IOException {
    this.storeEngine.readLock();
    try {
      Map<String, HStoreFile> name2File =
        new HashMap<>(getStorefilesCount() + getCompactedFilesCount());
      for (HStoreFile file : getStorefiles()) {
        name2File.put(file.getFileInfo().getActiveFileName(), file);
      }
      Collection<HStoreFile> compactedFiles = getCompactedFiles();
      for (HStoreFile file : IterableUtils.emptyIfNull(compactedFiles)) {
        name2File.put(file.getFileInfo().getActiveFileName(), file);
      }
      List<HStoreFile> filesToReopen = new ArrayList<>();
      for (KeyValueScanner kvs : currentFileScanners) {
        assert kvs.isFileScanner();
        if (kvs.peek() == null) {
          continue;
        }
        filesToReopen.add(name2File.get(kvs.getFilePath().getName()));
      }
      if (filesToReopen.isEmpty()) {
        return null;
      }
      return getScanners(filesToReopen, cacheBlocks, false, false, matcher, startRow,
        includeStartRow, stopRow, includeStopRow, readPt, false, false);
    } finally {
      this.storeEngine.readUnlock();
    }
  }
Recreates the scanners on the current list of active store file scanners
@param currentFileScanners    the current set of active store file scanners
@param cacheBlocks            cache the blocks or not
@param usePread               use pread or not
@param isCompaction           is the scanner for compaction
@param matcher                the scan query matcher
@param startRow               the scan's start row
@param includeStartRow        should the scan include the start row
@param stopRow                the scan's stop row
@param includeStopRow         should the scan include the stop row
@param readPt                 the read point of the current scane
@param includeMemstoreScanner whether the current scanner should include memstorescanner
@return list of scanners recreated on the current Scanners
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java