public IndexPersistenceMgr( int pageSize, int entriesPerPage, ServerConfiguration conf, SnapshotMap<Long, Boolean> activeLedgers, LedgerDirsManager ledgerDirsManager, StatsLogger statsLogger) throws IOException { this.openFileLimit = conf.getOpenFileLimit(); this.activeLedgers = activeLedgers; this.ledgerDirsManager = ledgerDirsManager; this.pageSize = pageSize; this.entriesPerPage = entriesPerPage; LOG.info("openFileLimit = {}", openFileLimit); // Retrieve all of the active ledgers. getActiveLedgers(); ledgerDirsManager.addLedgerDirsListener(getLedgerDirsListener()); // Expose Stats evictedLedgersCounter = statsLogger.getCounter(LEDGER_CACHE_NUM_EVICTED_LEDGERS); statsLogger.registerGauge( NUM_OPEN_LEDGERS, new Gauge<Integer>() { @Override public Integer getDefaultValue() { return 0; } @Override public Integer getSample() { return getNumOpenLedgers(); } }); }