Package org.apache.storm.daemon.supervisor

# Class Slot

java.lang.Object
java.lang.Thread
org.apache.storm.daemon.supervisor.Slot

All Implemented Interfaces:
  `AutoCloseable`, `Runnable`, `BlobChangingCallback`

public class Slot extends Thread implements AutoCloseable, BlobChangingCallback

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class java.lang.Thread

  `Thread.State, Thread.UncaughtExceptionHandler`

- ## Field Summary

  ### Fields inherited from class java.lang.Thread

  `MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Slot(AsyncLocalizer localizer, Map<String,Object> conf, ContainerLauncher containerLauncher, String host, int port, LocalState localState, IStormClusterState clusterState, ISupervisor supervisor, AtomicReference<Map<Long,LocalAssignment>> cachedCurrentAssignments, OnlyLatestExecutor<Integer> metricsExec, WorkerMetricsProcessor metricsProcessor, org.apache.storm.daemon.supervisor.SlotMetrics slotMetrics)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addProfilerActions(Set<org.apache.storm.daemon.supervisor.Slot.TopoProfileAction> actions)`
  `void`
  `blobChanging(LocalAssignment assignment, int port, LocallyCachedBlob blob, GoodToGo go)`
  Informs the listener that a blob has changed and is ready to update and replace a localized blob that has been marked as tied to the life cycle of the worker process.
  `void`
  `close()`
  `String`
  `getWorkerId()`
  get the workerID (nullable) from CURRENT container, if existed, or return null.
  `void`
  `run()`
  `final void`
  `setNewAssignment(LocalAssignment newAssignment)`
  Set a new assignment asynchronously.

  ### Methods inherited from class java.lang.Thread

  `activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield`

  ### Methods inherited from class java.lang.Object

  `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### Slot

    public Slot(AsyncLocalizer localizer, Map<String,Object> conf, ContainerLauncher containerLauncher, String host, int port, LocalState localState, IStormClusterState clusterState, ISupervisor supervisor, AtomicReference<Map<Long,LocalAssignment>> cachedCurrentAssignments, OnlyLatestExecutor<Integer> metricsExec, WorkerMetricsProcessor metricsProcessor, org.apache.storm.daemon.supervisor.SlotMetrics slotMetrics) throws Exception
    Throws:
      `Exception`

- ## Method Details

  - ### setNewAssignment

    public final void setNewAssignment(LocalAssignment newAssignment)
    Set a new assignment asynchronously.
    Parameters:
      `newAssignment` - the new assignment for this slot to run, null to run nothing

  - ### blobChanging

    public void blobChanging(LocalAssignment assignment, int port, LocallyCachedBlob blob, GoodToGo go)
    Description copied from interface: `BlobChangingCallback`
    Informs the listener that a blob has changed and is ready to update and replace a localized blob that has been marked as tied to the life cycle of the worker process.

    If `go.getLatch()` is never called before the method completes it is assumed that the listener is good with the blob changing.

    Specified by:
      `blobChanging` in interface `BlobChangingCallback`
    Parameters:
      `assignment` - the assignment this resource and callback are registered with.
      `port` - the port that this resource and callback are registered with.
      `blob` - the blob that is going to change.
      `go` - a way to indicate if the listener is ready for the resource to change.

  - ### addProfilerActions

    public void addProfilerActions(Set<org.apache.storm.daemon.supervisor.Slot.TopoProfileAction> actions)

  - ### getWorkerId

    public String getWorkerId()
    get the workerID (nullable) from CURRENT container, if existed, or return null.
    Returns:
      workerID

  - ### run

    public void run()
    Specified by:
      `run` in interface `Runnable`
    Overrides:
      `run` in class `Thread`

  - ### close

    public void close() throws Exception
    Specified by:
      `close` in interface `AutoCloseable`
    Throws:
      `Exception`