Class DynamicResourceManager

java.lang.Object
org.apache.drill.exec.work.foreman.rm.DynamicResourceManager
All Implemented Interfaces:
ResourceManager

public class DynamicResourceManager extends Object implements ResourceManager
Wrapper around the default and/or distributed resource managers to allow dynamically enabling and disabling queueing.
  • Field Details

    • nextUpdateTime

      public long nextUpdateTime
    • recheckDelayMs

      public final int recheckDelayMs
      See Also:
  • Constructor Details

    • DynamicResourceManager

      public DynamicResourceManager(DrillbitContext context)
  • Method Details

    • activeRM

      public ResourceManager activeRM()
    • memoryPerNode

      public long memoryPerNode()
      Description copied from interface: ResourceManager
      Returns the memory, in bytes, assigned to each node in a Drill cluster. Drill requires that nodes are symmetrical. So, knowing the memory on any one node also gives the memory on all other nodes.
      Specified by:
      memoryPerNode in interface ResourceManager
      Returns:
      the memory, in bytes, available in each Drillbit
    • cpusPerNode

      public int cpusPerNode()
      Specified by:
      cpusPerNode in interface ResourceManager
    • newResourceAllocator

      public QueryResourceAllocator newResourceAllocator(QueryContext queryContext)
      Description copied from interface: ResourceManager
      Create a resource manager to prepare or describe a query. In this form, no queuing is done, but the plan is created as if queuing had been done. Used when executing EXPLAIN PLAN.
      Specified by:
      newResourceAllocator in interface ResourceManager
      Returns:
      a resource manager for the query
    • newQueryRM

      public QueryResourceManager newQueryRM(Foreman foreman)
      Description copied from interface: ResourceManager
      Create a resource manager to execute a query.
      Specified by:
      newQueryRM in interface ResourceManager
      Parameters:
      foreman - Foreman which manages the execution
      Returns:
      a resource manager for the query
    • close

      public void close()
      Specified by:
      close in interface ResourceManager