Package org.apache.ignite.events

## Class CacheConsistencyViolationEvent

- java.lang.Object
- - org.apache.ignite.events.EventAdapter
  - - org.apache.ignite.events.CacheConsistencyViolationEvent

- All Implemented Interfaces:
    `Serializable`, `Comparable<Event>`, `Event`

      public class CacheConsistencyViolationEvent
      extends EventAdapter

  This is an experimental API.

  Event indicates a consistency violation.

  Grid events are used for notification about what happens within the grid. Note that by design Ignite keeps all events generated on the local node locally and it provides APIs for performing a distributed queries across multiple nodes:

  - `IgniteEvents.remoteQuery(org.apache.ignite.lang.IgnitePredicate, long, int...)` - asynchronously querying events occurred on the nodes specified, including remote nodes.
  - `IgniteEvents.localQuery(org.apache.ignite.lang.IgnitePredicate, int...)` - querying only local events stored on this local node.
  - `IgniteEvents.localListen(org.apache.ignite.lang.IgnitePredicate, int...)` - listening to local grid events (events from remote nodes not included).
  User can also wait for events using method `IgniteEvents.waitForLocal(org.apache.ignite.lang.IgnitePredicate, int...)`.

  # Events and Performance

  Note that by default all events in Ignite are enabled and therefore generated and stored by whatever event storage SPI is configured. Ignite can and often does generate thousands events per seconds under the load and therefore it creates a significant additional load on the system. If these events are not needed by the application this load is unnecessary and leads to significant performance degradation.

  It is highly recommended to enable only those events that your application logic requires by using `IgniteConfiguration.getIncludeEventTypes()` method in Ignite configuration. Note that certain events are required for Ignite's internal operations and such events will still be generated but not stored by event storage SPI if they are disabled in Ignite configuration.

  See Also:
    `EventType.EVT_CONSISTENCY_VIOLATION`, Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static interface` | `CacheConsistencyViolationEvent.EntriesInfo` | Inconsistent entries mapping.
    `static interface` | `CacheConsistencyViolationEvent.EntryInfo` | Inconsistent entry info.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `CacheConsistencyViolationEvent​(String cacheName, ClusterNode node, String msg, Map<Object,​CacheConsistencyViolationEvent.EntriesInfo> entries, Map<Object,​Object> repaired, ReadRepairStrategy strategy)` | Creates a new instance of CacheConsistencyViolationEvent.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `getCacheName()` | Returns cache name.
    `Map<Object,​CacheConsistencyViolationEvent.EntriesInfo>` | `getEntries()` | Returns a mapping of keys to a collection of original entries.
    `Map<Object,​Object>` | `getRepairedEntries()` | Returns a mapping of keys to a collection of repaired entries.
    `ReadRepairStrategy` | `getStrategy()` | Returns strategy.

    - ### Methods inherited from class org.apache.ignite.events.EventAdapter

      `compareTo, equals, hashCode, id, localOrder, message, message, name, node, node, shortDisplay, timestamp, toString, type, type`

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### CacheConsistencyViolationEvent

          public CacheConsistencyViolationEvent​(String cacheName,
                                                ClusterNode node,
                                                String msg,
                                                Map<Object,​CacheConsistencyViolationEvent.EntriesInfo> entries,
                                                Map<Object,​Object> repaired,
                                                ReadRepairStrategy strategy)

      Creates a new instance of CacheConsistencyViolationEvent.
      Parameters:
        `cacheName` - Cache name.
        `node` - Local node.
        `msg` - Event message.
        `entries` - Collection of original entries.
        `repaired` - Collection of repaired entries.
        `strategy` - Strategy.

  - ### Method Detail

    - #### getEntries

          public Map<Object,​CacheConsistencyViolationEvent.EntriesInfo> getEntries()

      Returns a mapping of keys to a collection of original entries.
      Returns:
        Collection of original entries.

    - #### getRepairedEntries

          public Map<Object,​Object> getRepairedEntries()

      Returns a mapping of keys to a collection of repaired entries.
      Returns:
        Collection of repaired entries.

    - #### getCacheName

          public String getCacheName()

      Returns cache name.
      Returns:
        Cache name.

    - #### getStrategy

          public ReadRepairStrategy getStrategy()

      Returns strategy.
      Returns:
        Strategy.