@Override public final void close() throws IOException { if (logger.fineEnabled()) { logger.fine("Closing compactor"); } compactor.abortAll(); releaseTestDelay(); compactor.waitForCompletion(); levelLock.writeLock().lock(); try { for (Level l : levels) { l.close(); } } finally { levelLock.writeLock().unlock(); } TrackedReference<SortedOplogReader> tr; while ((tr = inactive.poll()) != null) { deleteInactive(tr); } inactive.clear(); }