private void reclaim(final Memtable memtable) { // issue a read barrier for reclaiming the memory, and offload the wait to another thread final OpOrder.Barrier readBarrier = readOrdering.newBarrier(); readBarrier.issue(); reclaimExecutor.execute(new WrappedRunnable() { public void runMayThrow() throws InterruptedException, ExecutionException { readBarrier.await(); memtable.setDiscarded(); } }); } }
writeBarrier.issue(); postFlush = new PostFlush(!truncate, writeBarrier, lastReplayPosition);
barrier.issue();
writeBarrier.issue(); postFlush = new PostFlush(memtables); postFlushTask = ListenableFutureTask.create(postFlush);
writeBarrier.issue(); postFlush = new PostFlush(memtables); postFlushTask = ListenableFutureTask.create(postFlush);
writeBarrier.issue(); postFlush = new PostFlush(memtables); postFlushTask = ListenableFutureTask.create(postFlush);
private void reclaim(final Memtable memtable) { // issue a read barrier for reclaiming the memory, and offload the wait to another thread final OpOrder.Barrier readBarrier = readOrdering.newBarrier(); readBarrier.issue(); postFlushTask.addListener(new WrappedRunnable() { public void runMayThrow() { readBarrier.await(); memtable.setDiscarded(); } }, reclaimExecutor); } }
private void reclaim(final Memtable memtable) { // issue a read barrier for reclaiming the memory, and offload the wait to another thread final OpOrder.Barrier readBarrier = readOrdering.newBarrier(); readBarrier.issue(); postFlushTask.addListener(new WrappedRunnable() { public void runMayThrow() { readBarrier.await(); memtable.setDiscarded(); } }, reclaimExecutor); } }
private void reclaim(final Memtable memtable) { // issue a read barrier for reclaiming the memory, and offload the wait to another thread final OpOrder.Barrier readBarrier = readOrdering.newBarrier(); readBarrier.issue(); postFlushTask.addListener(new WrappedRunnable() { public void runMayThrow() { readBarrier.await(); memtable.setDiscarded(); } }, reclaimExecutor); } }
public void awaitNewBarrier() { Barrier barrier = newBarrier(); barrier.issue(); barrier.await(); }
public void awaitNewBarrier() { Barrier barrier = newBarrier(); barrier.issue(); barrier.await(); }
public void awaitNewBarrier() { Barrier barrier = newBarrier(); barrier.issue(); barrier.await(); }
public void awaitNewBarrier() { Barrier barrier = newBarrier(); barrier.issue(); barrier.await(); }
public void awaitNewBarrier() { Barrier barrier = newBarrier(); barrier.issue(); barrier.await(); }