Class AbstractCommitLogService

  • Direct Known Subclasses:
    GroupCommitLogService

    public abstract class AbstractCommitLogService
    extends java.lang.Object
    • Field Detail

      • lastSyncedAt

        protected volatile long lastSyncedAt
      • pending

        protected final java.util.concurrent.atomic.AtomicLong pending
      • syncComplete

        protected final WaitQueue syncComplete
      • haveWork

        protected final Semaphore haveWork
    • Method Detail

      • finishWriteFor

        public void finishWriteFor​(CommitLogSegment.Allocation alloc)
        Block for @param alloc to be sync'd as necessary, and handle bookkeeping
      • shutdown

        public void shutdown()
      • syncBlocking

        public void syncBlocking()
        Request sync and wait until the current state is synced. Note: If a sync is in progress at the time of this request, the call will return after both it and a cycle initiated immediately afterwards complete.
      • awaitTermination

        public void awaitTermination()
                              throws java.lang.InterruptedException
        Throws:
        java.lang.InterruptedException
      • getCompletedTasks

        public long getCompletedTasks()
      • getPendingTasks

        public long getPendingTasks()