Class NullImplementation.NullPartitionAssignmentStrategy
- java.lang.Object
-
- com.tangosol.util.NullImplementation.NullPartitionAssignmentStrategy
-
- All Implemented Interfaces:
PartitionAssignmentStrategy
- Enclosing class:
- NullImplementation
public static class NullImplementation.NullPartitionAssignmentStrategy extends Object implements PartitionAssignmentStrategy
An implementation ofPartitionAssignmentStrategy
that does nothing.
-
-
Field Summary
Fields Modifier and Type Field Description static NullImplementation.NullPartitionAssignmentStrategy
INSTANCE
Singleton instance.
-
Constructor Summary
Constructors Constructor Description NullPartitionAssignmentStrategy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
analyzeDistribution()
Analyze the distribution and return the desired time interval before the next distribution analysis.void
analyzeOrphans(Map<Member,PartitionSet> mapConstraints)
Analyze and suggest the assignment of orphaned partitions (partitions without an active primary or backup owner) subject to the specified constraints.String
getDescription()
Return a human-readable description of the state of the partition assignment.void
init(DistributionManager manager)
Initialize the PartitionAssignmentStrategy and bind it to the specified DistributionManager.
-
-
-
Field Detail
-
INSTANCE
public static final NullImplementation.NullPartitionAssignmentStrategy INSTANCE
Singleton instance.
-
-
Method Detail
-
init
public void init(DistributionManager manager)
Initialize the PartitionAssignmentStrategy and bind it to the specified DistributionManager. This method is called only on the distribution coordinator, prior its first distributionanalysis
.- Specified by:
init
in interfacePartitionAssignmentStrategy
- Parameters:
manager
- the DistributionManager that this strategy is bound to
-
analyzeOrphans
public void analyzeOrphans(Map<Member,PartitionSet> mapConstraints)
Analyze and suggest the assignment of orphaned partitions (partitions without an active primary or backup owner) subject to the specified constraints. For each partition, the supplied constraints specify the set of members which are eligible to be assigned the ownership.The strategy must provide suggestions for all orphaned partitions which are consistent with the supplied constraints. Failure to provide a complete set of valid suggestions may result in the loss of partition data.
- Specified by:
analyzeOrphans
in interfacePartitionAssignmentStrategy
- Parameters:
mapConstraints
- the map of assignment constraints associating members with the set of partitions that they could be assigned ownership of
-
analyzeDistribution
public long analyzeDistribution()
Analyze the distribution and return the desired time interval before the next distribution analysis. This method may or may not make distribution suggestions through the distribution manager. The strategy can influence (but not guarantee) the frequency with which it is analyzed by returning the desired interval before the next call, or -1 if the strategy has no preference and will rely on the PartitionedService to decide.As a result of failover, partitions may become 'endangered', meaning that the necessary number of backups do not exist. Failure to suggest a distribution recovery plan for those partitions may result in the partition remaining in the endangered state. Additionally, ownership-enabled service members that are in the process of shutting down will wait until all owned partitions are transferred out. Failure to suggest a distribution plan may delay the exit of these leaving members.
The statistics and ownership information exposed by the DistributionManager will not mutate for the duration of this method call.
- Specified by:
analyzeDistribution
in interfacePartitionAssignmentStrategy
- Returns:
- the time interval before the next desired analysis, or -1
-
getDescription
public String getDescription()
Return a human-readable description of the state of the partition assignment.- Specified by:
getDescription
in interfacePartitionAssignmentStrategy
- Returns:
- a human-readable description
-
-