@Override public long unflushedSize() { long size = 0; rwlock.readLock().lock(); try { for (SortedBuffer<Integer> sb : unflushed) { size += sb.dataSize(); } } finally { rwlock.readLock().unlock(); } return size; }
@Override public long bufferSize() { return getCurrent().dataSize(); }
@Override public void run() { try { compactor.add(soplog); compactor.compact(false, null); unflushed.removeFirstOccurrence(buffer); // TODO need to invoke this while NOT holding write lock handler.complete(); factory.getConfiguration().getStatistics().getFlush().end(buffer.dataSize(), start); } catch (Exception e) { handleError(e, aborted); return; } } };