@Override public final void add(SortedOplog soplog) throws IOException { levels.get(0).add(soplog); }
public SizeTieredCompactor(SortedOplogFactory factory, Fileset<Integer> fileset, CompactionTracker<Integer> tracker, Executor exec, int maxFilesPerLevel, int maxLevels) throws IOException { super(factory, fileset, tracker, exec); assert maxFilesPerLevel > 0; assert maxLevels > 0; this.maxFilesPerLevel = maxFilesPerLevel; this.maxLevels = maxLevels; if (logger.fineEnabled()) { logger.fine("Creating size-tiered compactor"); } for (int i = 0; i < maxLevels; i++) { levels.add(new OrderedLevel(i)); } for (Map.Entry<Integer, ? extends Iterable<File>> entry : fileset.recover().entrySet()) { int level = Math.min(maxLevels - 1, entry.getKey()); for (File f : entry.getValue()) { if (logger.fineEnabled()) { logger.fine("Adding " + f + " to level " + level); } levels.get(level).add(factory.createSortedOplog(f)); } } }
levels.get(Math.min(level + 1, maxLevels - 1)).add(merged);