Package org.apache.ignite.spi.collision.jobstealing

## Interface JobStealingCollisionSpiMBean

- All Superinterfaces:
    `IgniteSpiManagementMBean`

      @MXBeanDescription("MBean for job stealing based collision SPI.")
      public interface JobStealingCollisionSpiMBean
      extends IgniteSpiManagementMBean

  Management MBean for job stealing based collision SPI.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `getActiveJobsThreshold()` | Gets number of jobs that can be executed in parallel.
    `int` | `getCurrentActiveJobsNumber()` | Gets current number of jobs that are being executed.
    `int` | `getCurrentHeldJobsNumber()` | Gets number of currently `'held'` jobs.
    `int` | `getCurrentJobsToStealNumber()` | Gets current number of jobs to be stolen.
    `int` | `getCurrentRunningJobsNumber()` | Gets number of currently running (not `'held`) jobs.
    `int` | `getCurrentWaitJobsNumber()` | Gets current number of jobs that wait for the execution.
    `int` | `getMaximumStealingAttempts()` | Gets maximum number of attempts to steal job by another node.
    `long` | `getMessageExpireTime()` | Message expire time configuration parameter.
    `Map<String,​? extends Serializable>` | `getStealingAttributes()` | Configuration parameter to enable stealing to/from only nodes that have these attributes set (see `ClusterNode.attribute(String)` and `IgniteConfiguration.getUserAttributes()` methods).
    `int` | `getTotalStolenJobsNumber()` | Gets total number of stolen jobs.
    `int` | `getWaitJobsThreshold()` | Gets job count threshold at which this node will start stealing jobs from other nodes.
    `boolean` | `isStealingEnabled()` | Gets flag indicating whether this node should attempt to steal jobs from other nodes.
    `void` | `setActiveJobsThreshold​(int activeJobsThreshold)` | Sets number of jobs that can be executed in parallel.
    `void` | `setMaximumStealingAttempts​(int maximumStealingAttempts)` | Gets maximum number of attempts to steal job by another node.
    `void` | `setMessageExpireTime​(long msgExpireTime)` | Message expire time configuration parameter.
    `void` | `setStealingEnabled​(boolean stealingEnabled)` | Gets flag indicating whether this node should attempt to steal jobs from other nodes.
    `void` | `setWaitJobsThreshold​(int waitJobsThreshold)` | Sets job count threshold at which this node will start stealing jobs from other nodes.

    - ### Methods inherited from interface org.apache.ignite.spi.IgniteSpiManagementMBean

      `getIgniteHome, getLocalNodeId, getName, getStartTimestamp, getStartTimestampFormatted, getUpTime, getUpTimeFormatted`

- - ### Method Detail

    - #### getCurrentJobsToStealNumber

          @MXBeanDescription("Number of jobs to be stolen.")
          int getCurrentJobsToStealNumber()

      Gets current number of jobs to be stolen. This is outstanding requests number.
      Returns:
        Number of jobs to be stolen.

    - #### getCurrentWaitJobsNumber

          @MXBeanDescription("Number of jobs that wait for execution.")
          int getCurrentWaitJobsNumber()

      Gets current number of jobs that wait for the execution.
      Returns:
        Number of jobs that wait for execution.

    - #### getCurrentActiveJobsNumber

          @MXBeanDescription("Number of active jobs.")
          int getCurrentActiveJobsNumber()

      Gets current number of jobs that are being executed.
      Returns:
        Number of active jobs.

    - #### getCurrentRunningJobsNumber

          @MXBeanDescription("Number of running jobs.")
          int getCurrentRunningJobsNumber()

      Gets number of currently running (not `'held`) jobs.
      Returns:
        Number of currently running (not `'held`) jobs.

    - #### getCurrentHeldJobsNumber

          @MXBeanDescription("Number of held jobs.")
          int getCurrentHeldJobsNumber()

      Gets number of currently `'held'` jobs.
      Returns:
        Number of currently `'held'` jobs.

    - #### getTotalStolenJobsNumber

          @MXBeanDescription("Number of stolen jobs.")
          int getTotalStolenJobsNumber()

      Gets total number of stolen jobs.
      Returns:
        Number of stolen jobs.

    - #### getActiveJobsThreshold

          @MXBeanDescription("Number of jobs that can be executed in parallel.")
          int getActiveJobsThreshold()

      Gets number of jobs that can be executed in parallel.
      Returns:
        Number of jobs that can be executed in parallel.

    - #### setActiveJobsThreshold

          @MXBeanDescription("Number of jobs that can be executed in parallel.")
          void setActiveJobsThreshold​(int activeJobsThreshold)

      Sets number of jobs that can be executed in parallel.
      Parameters:
        `activeJobsThreshold` - Number of jobs that can be executed in parallel.

    - #### getWaitJobsThreshold

          @MXBeanDescription("Job count threshold.")
          int getWaitJobsThreshold()

      Gets job count threshold at which this node will start stealing jobs from other nodes.
      Returns:
        Job count threshold.

    - #### setWaitJobsThreshold

          @MXBeanDescription("Job count threshold.")
          void setWaitJobsThreshold​(int waitJobsThreshold)

      Sets job count threshold at which this node will start stealing jobs from other nodes.
      Parameters:
        `waitJobsThreshold` - Job count threshold.

    - #### getMessageExpireTime

          @MXBeanDescription("Message expire time.")
          long getMessageExpireTime()

      Message expire time configuration parameter. If no response is received from a busy node to a job stealing message, then implementation will assume that message never got there, or that remote node does not have this node included into topology of any of the jobs it has.
      Returns:
        Message expire time.

    - #### setMessageExpireTime

          @MXBeanDescription("Message expire time.")
          void setMessageExpireTime​(long msgExpireTime)

      Message expire time configuration parameter. If no response is received from a busy node to a job stealing message, then implementation will assume that message never got there, or that remote node does not have this node included into topology of any of the jobs it has.
      Parameters:
        `msgExpireTime` - Message expire time.

    - #### isStealingEnabled

          @MXBeanDescription("Flag indicating whether this node should attempt to steal jobs from other nodes.")
          boolean isStealingEnabled()

      Gets flag indicating whether this node should attempt to steal jobs from other nodes. If `false`, then this node will steal allow jobs to be stolen from it, but won't attempt to steal any jobs from other nodes.

      Default value is `true`.

      Returns:
        Flag indicating whether this node should attempt to steal jobs from other nodes.

    - #### setStealingEnabled

          @MXBeanDescription("Flag indicating whether this node should attempt to steal jobs from other nodes.")
          void setStealingEnabled​(boolean stealingEnabled)

      Gets flag indicating whether this node should attempt to steal jobs from other nodes. If `false`, then this node will steal allow jobs to be stolen from it, but won't attempt to steal any jobs from other nodes.

      Default value is `true`.

      Parameters:
        `stealingEnabled` - Flag indicating whether this node should attempt to steal jobs from other nodes.

    - #### getMaximumStealingAttempts

          @MXBeanDescription("Maximum number of attempts to steal job by another node.")
          int getMaximumStealingAttempts()

      Gets maximum number of attempts to steal job by another node. If not specified, `JobStealingCollisionSpi.DFLT_MAX_STEALING_ATTEMPTS` value will be used.
      Returns:
        Maximum number of attempts to steal job by another node.

    - #### setMaximumStealingAttempts

          @MXBeanDescription("Maximum number of attempts to steal job by another node.")
          void setMaximumStealingAttempts​(int maximumStealingAttempts)

      Gets maximum number of attempts to steal job by another node. If not specified, `JobStealingCollisionSpi.DFLT_MAX_STEALING_ATTEMPTS` value will be used.
      Parameters:
        `maximumStealingAttempts` - Maximum number of attempts to steal job by another node.

    - #### getStealingAttributes

          @MXBeanDescription("Node attributes to enable job stealing for.")
          Map<String,​? extends Serializable> getStealingAttributes()

      Configuration parameter to enable stealing to/from only nodes that have these attributes set (see `ClusterNode.attribute(String)` and `IgniteConfiguration.getUserAttributes()` methods).
      Returns:
        Node attributes to enable job stealing for.