private SparkeyReader createFromLogFile()

in src/main/java/com/spotify/sparkey/extra/ReloadableSparkeyReader.java [91:113]


  private SparkeyReader createFromLogFile(File logFile) {
    Objects.requireNonNull(logFile);
    checkArgument(logFile.exists());
    checkArgument(logFile.getName().endsWith(".spl"));

    File indexFile = Sparkey.getIndexFile(logFile);
    if (!indexFile.exists()) {
      log.info("create sparkey index for log file {}", logFile.getAbsolutePath());
      try {
        SparkeyWriter w = Sparkey.append(indexFile);
        w.writeHash();
        w.close();
      } catch (IOException ex) {
        throw new ReloadableSparkeyReaderException("couldn't create index file", ex);
      }
    }

    try {
      return new ThreadLocalSparkeyReader(indexFile);
    } catch (IOException ex) {
      throw new ReloadableSparkeyReaderException("couldn't create sparkey reader", ex);
    }
  }