- All Superinterfaces:
- EventListener
- All Known Implementing Classes:
- ScheduledFutureProxy
public interface PartitionLostListener
extends EventListener
PartitionLostListener provides the ability to be notified upon a possible data loss when a partition has no owner and backups.
IMPORTANT: Please note that it may dispatch false-positive partition lost events when partial network split errors occur.
Partition loss detection algorithm works as follows:
When the cluster is initialized, each node becomes owner of some of the partitions, and backup of the some other partitions.
On a node failure, the first backup node becomes owner for a partition and all other backup nodes are shifted up in the
partition backup order. Therefore, some nodes sync themselves from the new partition owner node since they are shifted up in
the partition table and do not contain the backup data yet. Whey they issue a partition sync request, they set themselves in
a custom state that indicates that a node is waiting for a partition sync for a particular backup. When the sync operation is
completed, that sync flag is reset.
Lets say the owner of the partition crashes before it sends backup data to sync-waiting partitions.
The first backup which will become the owner of the partition checks its replica-sync flags. If they are set, it detects that
the owner failed before the backup node completes the sync process and issues a partition lost event.
- Since:
- 3.5
- See Also:
Partition
,
PartitionService