public final class RepairingHandler extends Object
MetaDataContainer
s.
Used to repair Near Cache in the event of missed invalidation events or partition uuid changes.
Here repairing is done by making relevant Near Cache data unreachable.
To make stale data unreachable StaleReadDetectorImpl
is used.
An instance of this class is created per Near Cache and can concurrently be used by many threads.
StaleReadDetectorImpl
Constructor and Description |
---|
RepairingHandler(String name,
NearCache nearCache,
MinimalPartitionService partitionService,
String localUuid,
ILogger logger) |
Modifier and Type | Method and Description |
---|---|
void |
checkOrRepairSequence(int partition,
long nextSequence,
boolean viaAntiEntropy)
Checks
nextSequence against current one. |
void |
checkOrRepairUuid(int partition,
UUID newUuid) |
MetaDataContainer |
getMetaDataContainer(int partition) |
String |
getName() |
void |
handle(Collection<Data> keys,
Collection<String> sourceUuids,
Collection<UUID> partitionUuids,
Collection<Long> sequences)
Handles batch invalidations
|
void |
handle(Data key,
String sourceUuid,
UUID partitionUuid,
long sequence)
Handles a single invalidation
|
void |
initSequence(int partitionID,
long partitionSequence) |
void |
initUuid(int partitionID,
UUID partitionUuid) |
String |
toString() |
void |
updateLastKnownStaleSequence(MetaDataContainer metaData,
int partition) |
public RepairingHandler(String name, NearCache nearCache, MinimalPartitionService partitionService, String localUuid, ILogger logger)
public MetaDataContainer getMetaDataContainer(int partition)
public void handle(Data key, String sourceUuid, UUID partitionUuid, long sequence)
public void handle(Collection<Data> keys, Collection<String> sourceUuids, Collection<UUID> partitionUuids, Collection<Long> sequences)
public String getName()
public void updateLastKnownStaleSequence(MetaDataContainer metaData, int partition)
public void checkOrRepairUuid(int partition, UUID newUuid)
public void checkOrRepairSequence(int partition, long nextSequence, boolean viaAntiEntropy)
nextSequence
against current one. And updates current sequence if next one is bigger.public void initUuid(int partitionID, UUID partitionUuid)
public void initSequence(int partitionID, long partitionSequence)
Copyright © 2017 Hazelcast, Inc.. All Rights Reserved.