public NonCompactor(String name, File dir) { fileset = createFileset(name, dir); readers = new ArrayDeque<TrackedReference<SortedOplogReader>>(); }
@Override public synchronized void close() throws IOException { clear(); }
protected SortedOplogSetImpl createSoplogSet(String name) throws IOException { SortedOplogFactory factory = new HFileSortedOplogFactory(name, null, new SortedOplogStatistics("stats", name), new HFileStoreStatistics("storeStats", name)); Compactor compactor = new NonCompactor(name, new File(".")); return new SortedOplogSetImpl(factory, Executors.newSingleThreadExecutor(), compactor); }
@Override protected AbstractCompactor<Integer> createCompactor(SortedOplogFactory factory) throws IOException { return new SizeTieredCompactor(factory, NonCompactor.createFileset("test", new File(".")), new FileTracker(), Executors.newSingleThreadExecutor(), 2, 4); }
@Override protected AbstractCompactor<?> createCompactor(SortedOplogFactory factory) throws IOException { return new SizeTieredCompactor(factory, NonCompactor.createFileset("test", new File(".")), new FileTracker(), Executors.newSingleThreadExecutor(), 2, 4); } }
public void testTombstone() throws Exception { FlushCounter handler = new FlushCounter(); SortedOplogFactory factory = new HFileSortedOplogFactory("tombstone", null, new SortedOplogStatistics("stats", "tombstone"), new HFileStoreStatistics("storeStats", "tombstone")); Compactor compactor = new SizeTieredCompactor(factory, NonCompactor.createFileset("tombstone", new File(".")), new FileTracker(), Executors.newSingleThreadExecutor(), 2, 2); SortedOplogSet sos = new SortedOplogSetImpl(factory, Executors.newSingleThreadExecutor(), compactor); for (int i = 0; i < 1000; i++) { sos.put(wrapInt(i), wrapInt(i)); } sos.flush(null, handler); for (int i = 900; i < 1000; i++) { sos.put(wrapInt(i), new byte[] {SoplogToken.TOMBSTONE.toByte()}); } flushAndWait(handler, sos); compactAndWait(sos, true); validate(sos, 900); sos.close(); }