Class MemtableCleanerThread<P extends MemtablePool>

java.lang.Object
org.apache.cassandra.utils.memory.MemtableCleanerThread<P>
All Implemented Interfaces:
Interruptible, Shutdownable

public class MemtableCleanerThread<P extends MemtablePool> extends Object implements Interruptible
A thread that reclaims memory from a MemtablePool on demand. The actual reclaiming work is delegated to the cleaner Runnable, e.g., MemtableCleaner AbstractAllocatorMemtable#flushLargestMemtable().
  • Constructor Details

    • MemtableCleanerThread

      public MemtableCleanerThread(P pool, MemtableCleaner cleaner)
  • Method Details

    • trigger

      public void trigger()
    • numPendingTasks

      public int numPendingTasks()
      Return the number of pending tasks
    • interrupt

      public void interrupt()
      Specified by:
      interrupt in interface Interruptible
    • isTerminated

      public boolean isTerminated()
      Specified by:
      isTerminated in interface Shutdownable
    • shutdown

      public void shutdown()
      Description copied from interface: Shutdownable
      Shutdown once any remaining work has completed (however this is defined for the implementation).
      Specified by:
      shutdown in interface Shutdownable
    • shutdownNow

      public Object shutdownNow()
      Description copied from interface: Shutdownable
      Shutdown immediately, possibly interrupting ongoing work, and cancelling work that is queued.
      Specified by:
      shutdownNow in interface Shutdownable
    • awaitTermination

      public boolean awaitTermination(long timeout, TimeUnit units) throws InterruptedException
      Description copied from interface: Shutdownable
      Await termination of this object, i.e. the cessation of all current and future work.
      Specified by:
      awaitTermination in interface Shutdownable
      Throws:
      InterruptedException