Class AmplificationFactorAdapter
- java.lang.Object
-
- com.linkedin.davinci.kafka.consumer.AmplificationFactorAdapter
-
public class AmplificationFactorAdapter extends java.lang.Object
This class hides and handles amplification factor concept for each user partition. All the sub-partition logics and concepts are handled here.
-
-
Constructor Summary
Constructors Constructor Description AmplificationFactorAdapter(int amplificationFactor, java.util.concurrent.ConcurrentMap<java.lang.Integer,PartitionConsumptionState> partitionConsumptionStateMap)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
execute(int userPartition, java.util.function.Consumer<java.lang.Integer> consumer)
This method takes in customized logic for each subPartition number and be executed on every subPartition of the specified user partition.void
executePartitionConsumptionState(int userPartition, java.util.function.Consumer<PartitionConsumptionState> pcsConsumer)
This method takes in customized logic and execute it on every subPartition'sPartitionConsumptionState
of the user partition.int
getAmplificationFactor()
java.util.List<PartitionConsumptionState>
getLeaderPcsList(java.util.Collection<PartitionConsumptionState> pcsList)
LeaderFollowerStateType
getLeaderState(int partition)
boolean
isLeaderSubPartition(int subPartition)
boolean
meetsAny(int userPartition, java.util.function.Predicate<java.lang.Integer> predicate)
This method returns True when the predicate is tested True for any of the subPartition in the user partition.
-
-
-
Constructor Detail
-
AmplificationFactorAdapter
public AmplificationFactorAdapter(int amplificationFactor, java.util.concurrent.ConcurrentMap<java.lang.Integer,PartitionConsumptionState> partitionConsumptionStateMap)
-
-
Method Detail
-
executePartitionConsumptionState
public void executePartitionConsumptionState(int userPartition, java.util.function.Consumer<PartitionConsumptionState> pcsConsumer)
This method takes in customized logic and execute it on every subPartition'sPartitionConsumptionState
of the user partition.
-
execute
public void execute(int userPartition, java.util.function.Consumer<java.lang.Integer> consumer)
This method takes in customized logic for each subPartition number and be executed on every subPartition of the specified user partition.
-
meetsAny
public boolean meetsAny(int userPartition, java.util.function.Predicate<java.lang.Integer> predicate)
This method returns True when the predicate is tested True for any of the subPartition in the user partition.
-
isLeaderSubPartition
public boolean isLeaderSubPartition(int subPartition)
- Returns:
- True if a subPartition's index is the first among all subPartitions of its user partition.
-
getLeaderState
public LeaderFollowerStateType getLeaderState(int partition)
- Returns:
LeaderFollowerStateType
of the user partition.
-
getLeaderPcsList
public java.util.List<PartitionConsumptionState> getLeaderPcsList(java.util.Collection<PartitionConsumptionState> pcsList)
- Returns:
- List of
PartitionConsumptionState
of leader subPartitions.
-
getAmplificationFactor
public int getAmplificationFactor()
-
-