com.hazelcast.partition

## Interface PartitionLostListener

- All Superinterfaces:
    EventListener

      public interface PartitionLostListener
      extends EventListener

  PartitionLostListener provides the ability to be notified upon a possible data loss when a partition loses a replica.

  When the cluster is initialized, each node becomes owner of some of the partitions, and backup of the some other partitions. We call owner of partition "primary replica" and backup nodes "backup replicas". Partition replicas are ordered. A primary replica node keeps all data that is mapped to the partition. If a Hazelcast data structure is configured with 1 backup, its data is put into the primary replica and the first backup replica. Similarly, data of a Hazelcast data structure that is configured with 2 backups is put into the primary replica, the first backup replica, and the second backup replica. The idea is same for higher backup counts.

  When a node fails, primary replicas of its partitions are lost. In this case, ownership of each partition owned by the unreachable node is transferred to the first available backup node. After this point, other backup nodes sync themselves from the new partition owner node in order to populate the missing backup data. This sync is only happen when backup partition replica versions are not equal to the primary ones.

  In this context, the partition loss detection algorithm works as follows: `PartitionLostEvent.lostBackupCount` denotes the replica index up to the which partition replicas are lost. - 0 means that only the primary replica is lost. In other words, the node which owns the partition is unreachable, hence removed from the cluster. If there is a data structure configured with no backups, its data is lost for this partition. - 1 means that both the primary replica and the first backup replica are lost. In other words, the partition owner node and the first backup node have became unreachable. If a data structure is configured with less than 2 backups, its data is lost for this partition. - The idea works same for higher backup counts. Please note that node failures that do not involve a primary replica does not lead to partition lost events. For instance, if a backup node crashes when owner of the partition is still alive, a partition lost event is not fired. In this case, Hazelcast tries to assign a new backup replica to populate the missing backup.

  Since:
    3.5
  See Also:
    `Partition`, `PartitionService`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `partitionLost(PartitionLostEvent event)` Invoked when a partition loses its owner and all backups.

- - ### Method Detail

    - #### partitionLost

          void partitionLost(PartitionLostEvent event)

      Invoked when a partition loses its owner and all backups.
      Parameters:
        `event` - the event that contains the partition ID and the backup count that has been lost

Copyright © 2019. All rights reserved.