Package org.apache.ignite.spi.discovery.tcp

## Interface TcpDiscoverySpiMBean

- All Superinterfaces:
    `DiscoverySpiMBean`, `IgniteSpiManagementMBean`

      @MXBeanDescription("MBean provide access to TCP-based discovery SPI.")
      public interface TcpDiscoverySpiMBean
      extends IgniteSpiManagementMBean, DiscoverySpiMBean

  Management bean for `TcpDiscoverySpi`.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `checkRingLatency​(int maxHops)` | Diagnosis method for determining ring message latency.
    `void` | `dumpDebugInfo()` | Dumps debug info using configured logger.
    `void` | `dumpRingStructure()` | Dumps ring structure to log.
    `long` | `getAckTimeout()` | Gets message acknowledgement timeout.
    `long` | `getAvgMessageProcessingTime()` | Gets avg message processing time.
    `long` | `getConnectionCheckInterval()` | Gets connection check interval in ms.
    `@Nullable UUID` | `getCoordinator()` | Gets current coordinator.
    `long` | `getCoordinatorSinceTimestamp()` | Gets time local node has been coordinator since.
    `long` | `getCurrentTopologyVersion()` | Current topology version.
    `long` | `getIpFinderCleanFrequency()` | Gets frequency with which coordinator cleans IP finder and keeps it in the correct state, unregistering addresses of the nodes that have left the topology.
    `String` | `getIpFinderFormatted()` | Gets `TcpDiscoveryIpFinder` (string representation).
    `long` | `getJoinTimeout()` | The join timeout, in milliseconds.
    `int` | `getLocalPort()` | Gets local TCP port SPI listens to.
    `int` | `getLocalPortRange()` | Gets local TCP port range.
    `long` | `getMaxAckTimeout()` | Gets maximum message acknowledgement timeout.
    `long` | `getMaxMessageProcessingTime()` | Gets max message processing time.
    `int` | `getMessageWorkerQueueSize()` | Gets message worker queue current size.
    `long` | `getNetworkTimeout()` | Gets network timeout.
    `long` | `getNodesFailed()` | Gets failed nodes count.
    `long` | `getNodesJoined()` | Gets joined nodes count.
    `long` | `getNodesLeft()` | Gets left nodes count.
    `long` | `getPendingMessagesDiscarded()` | Gets pending messages discarded count.
    `long` | `getPendingMessagesRegistered()` | Gets pending messages registered count.
    `Map<String,​Integer>` | `getProcessedMessages()` | Gets processed messages counts (grouped by type).
    `Map<String,​Integer>` | `getReceivedMessages()` | Gets received messages counts (grouped by type).
    `int` | `getReconnectCount()` | Gets number of connection attempts.
    `long` | `getSocketTimeout()` | Gets socket timeout.
    `String` | `getSpiState()` | Gets current SPI state.
    `long` | `getStatisticsPrintFrequency()` | Gets statistics print frequency.
    `int` | `getThreadPriority()` | Gets thread priority.
    `int` | `getTotalProcessedMessages()` | Gets total processed messages count.
    `int` | `getTotalReceivedMessages()` | Gets total received messages count.
    `boolean` | `isClientMode()` | Whether or not discovery is started in client mode.

    - ### Methods inherited from interface org.apache.ignite.spi.discovery.DiscoverySpiMBean

      `excludeNode, getCoordinatorNodeFormatted, getLocalNodeFormatted`

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

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

- - ### Method Detail

    - #### getSpiState

          @MXBeanDescription("SPI state.")
          String getSpiState()

      Gets current SPI state.
      Specified by:
        `getSpiState` in interface `DiscoverySpiMBean`
      Returns:
        Current SPI state.

    - #### getIpFinderFormatted

          @MXBeanDescription("IP Finder.")
          String getIpFinderFormatted()

      Gets `TcpDiscoveryIpFinder` (string representation).
      Returns:
        IPFinder (string representation).

    - #### getReconnectCount

          @MXBeanDescription("Reconnect count.")
          int getReconnectCount()

      Gets number of connection attempts.
      Returns:
        Number of connection attempts.

    - #### getConnectionCheckInterval

          @MXBeanDescription("Connection check interval.")
          long getConnectionCheckInterval()

      Gets connection check interval in ms.
      Returns:
        Connection check interval.

    - #### getNetworkTimeout

          @MXBeanDescription("Network timeout.")
          long getNetworkTimeout()

      Gets network timeout.
      Returns:
        Network timeout.

    - #### getLocalPort

          @MXBeanDescription("Local TCP port.")
          int getLocalPort()

      Gets local TCP port SPI listens to.
      Returns:
        Local port range.

    - #### getLocalPortRange

          @MXBeanDescription("Local TCP port range.")
          int getLocalPortRange()

      Gets local TCP port range.
      Returns:
        Local port range.

    - #### getThreadPriority

          @MXBeanDescription("Threads priority.")
          int getThreadPriority()

      Gets thread priority. All threads within SPI will be started with it.
      Returns:
        Thread priority.

    - #### getIpFinderCleanFrequency

          @MXBeanDescription("The frequency with which coordinator cleans IP finder and keeps it in the correct state, unregistering addresses of the nodes that have left the topology.")
          long getIpFinderCleanFrequency()

      Gets frequency with which coordinator cleans IP finder and keeps it in the correct state, unregistering addresses of the nodes that have left the topology.
      Returns:
        IP finder clean frequency.

    - #### getStatisticsPrintFrequency

          @MXBeanDescription("Statistics print frequency.")
          long getStatisticsPrintFrequency()

      Gets statistics print frequency.
      Returns:
        Statistics print frequency in milliseconds.

    - #### getMessageWorkerQueueSize

          @MXBeanDescription("Message worker queue current size.")
          int getMessageWorkerQueueSize()

      Gets message worker queue current size.
      Returns:
        Message worker queue current size.

    - #### getNodesJoined

          @MXBeanDescription("Nodes joined count.")
          long getNodesJoined()

      Gets joined nodes count.
      Specified by:
        `getNodesJoined` in interface `DiscoverySpiMBean`
      Returns:
        Nodes joined count.

    - #### getNodesLeft

          @MXBeanDescription("Nodes left count.")
          long getNodesLeft()

      Gets left nodes count.
      Specified by:
        `getNodesLeft` in interface `DiscoverySpiMBean`
      Returns:
        Left nodes count.

    - #### getNodesFailed

          @MXBeanDescription("Nodes failed count.")
          long getNodesFailed()

      Gets failed nodes count.
      Specified by:
        `getNodesFailed` in interface `DiscoverySpiMBean`
      Returns:
        Failed nodes count.

    - #### getPendingMessagesRegistered

          @MXBeanDescription("Pending messages registered.")
          long getPendingMessagesRegistered()

      Gets pending messages registered count.
      Returns:
        Pending messages registered count.

    - #### getPendingMessagesDiscarded

          @MXBeanDescription("Pending messages discarded.")
          long getPendingMessagesDiscarded()

      Gets pending messages discarded count.
      Returns:
        Pending messages registered count.

    - #### getAvgMessageProcessingTime

          @MXBeanDescription("Avg message processing time.")
          long getAvgMessageProcessingTime()

      Gets avg message processing time.
      Returns:
        Avg message processing time.

    - #### getMaxMessageProcessingTime

          @MXBeanDescription("Max message processing time.")
          long getMaxMessageProcessingTime()

      Gets max message processing time.
      Returns:
        Max message processing time.

    - #### getTotalReceivedMessages

          @MXBeanDescription("Total received messages count.")
          int getTotalReceivedMessages()

      Gets total received messages count.
      Returns:
        Total received messages count.

    - #### getReceivedMessages

          @MXBeanDescription("Received messages by type.")
          Map<String,​Integer> getReceivedMessages()

      Gets received messages counts (grouped by type).
      Returns:
        Map containing message types and respective counts.

    - #### getTotalProcessedMessages

          @MXBeanDescription("Total processed messages count.")
          int getTotalProcessedMessages()

      Gets total processed messages count.
      Returns:
        Total processed messages count.

    - #### getProcessedMessages

          @MXBeanDescription("Processed messages by type.")
          Map<String,​Integer> getProcessedMessages()

      Gets processed messages counts (grouped by type).
      Returns:
        Map containing message types and respective counts.

    - #### getCoordinatorSinceTimestamp

          @MXBeanDescription("Local node is coordinator since.")
          long getCoordinatorSinceTimestamp()

      Gets time local node has been coordinator since.
      Returns:
        Time local node is coordinator since.

    - #### getCoordinator

          @MXBeanDescription("Coordinator node ID.")
          @Nullable
          @Nullable UUID getCoordinator()

      Gets current coordinator.
      Specified by:
        `getCoordinator` in interface `DiscoverySpiMBean`
      Returns:
        Gets current coordinator.

    - #### getAckTimeout

          @MXBeanDescription("Message acknowledgement timeout.")
          long getAckTimeout()

      Gets message acknowledgement timeout.
      Returns:
        Message acknowledgement timeout.

    - #### getMaxAckTimeout

          @MXBeanDescription("Maximum message acknowledgement timeout.")
          long getMaxAckTimeout()

      Gets maximum message acknowledgement timeout.
      Returns:
        Maximum message acknowledgement timeout.

    - #### getSocketTimeout

          @MXBeanDescription("Socket timeout.")
          long getSocketTimeout()

      Gets socket timeout.
      Returns:
        Socket timeout.

    - #### getJoinTimeout

          @MXBeanDescription("The join timeout, in milliseconds. Time to wait for joining. If node cannot connect to any address from the IP finder, the node continues to try to join during this timeout. If all addresses still do not respond, an exception will occur and the node will fail to start. If 0 is specified, it means wait forever.")
          long getJoinTimeout()

      The join timeout, in milliseconds. Time to wait for joining. If node cannot connect to any address from the IP finder, the node continues to try to join during this timeout. If all addresses still do not respond, an exception will occur and the node will fail to start. If 0 is specified, it means wait forever.
      Returns:
        Join timeout.

    - #### dumpDebugInfo

          @MXBeanDescription("Dump debug info.")
          void dumpDebugInfo()

      Dumps debug info using configured logger.

    - #### isClientMode

          @MXBeanDescription("Client mode.")
          boolean isClientMode()
                        throws IllegalStateException

      Whether or not discovery is started in client mode.
      Returns:
        `true` if node is in client mode.
      Throws:
        `IllegalStateException` - If discovery SPI is not started.

    - #### checkRingLatency

          @MXBeanDescription("Check ring latency.")
          void checkRingLatency​(@MXBeanParameter(name="maxHops",description="Maximum hops for the message (3 * TOTAL_NODE_CNT is recommended).")
                                int maxHops)

      Diagnosis method for determining ring message latency. On this method call special message will be sent across the ring and stats about the message will appear in the logs of each node.
      Parameters:
        `maxHops` - Maximum hops for the message (3 * TOTAL_NODE_CNT is recommended).

    - #### getCurrentTopologyVersion

          @MXBeanDescription("Get current topology version.")
          long getCurrentTopologyVersion()

      Current topology version.
      Returns:
        current topVer.

    - #### dumpRingStructure

          @MXBeanDescription("Dumps ring structure to log.")
          void dumpRingStructure()

      Dumps ring structure to log.