Package org.apache.ignite.plugin.segmentation

## Interface SegmentationResolver

- All Superinterfaces:
    `Serializable`

      public interface SegmentationResolver
      extends Serializable

  This is interface for segmentation (a.k.a "split-brain" problem) resolvers.

  Each segmentation resolver checks segment for validity, using its inner logic. Typically, resolver should run light-weight single check (i.e. one IP address or one shared folder). Compound segment checks may be performed using several resolvers.

  Note that Ignite support a logical segmentation and not limited to network related segmentation only. For example, a particular segmentation resolver can check for specific application or service present on the network and mark the topology as segmented in case it is not available. In other words you can equate the service outage with network outage via segmentation resolution and employ the unified approach in dealing with these types of problems.

  See Also:
    `IgniteConfiguration.getSegmentationResolvers()`, `IgniteConfiguration.getSegmentationPolicy()`, `IgniteConfiguration.getSegmentCheckFrequency()`, `IgniteConfiguration.isAllSegmentationResolversPassRequired()`, `IgniteConfiguration.isWaitForSegmentOnStart()`, `SegmentationPolicy`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `isValidSegment()` | Checks whether segment is valid.

- - ### Method Detail

    - #### isValidSegment

          boolean isValidSegment()
                          throws IgniteCheckedException

      Checks whether segment is valid.

      When segmentation happens every node ends up in either one of two segments:

      - Correct segment
      - Invalid segment
      Nodes in correct segment will continue operate as if nodes in the invalid segment simply left the topology (i.e. the topology just got "smaller"). Nodes in the invalid segment will realized that were "left out or disconnected" from the correct segment and will try to reconnect via `segmentation policy` set in configuration.
      Returns:
        `True` if segment is correct, `false` otherwise.
      Throws:
        `IgniteCheckedException` - If an error occurred.