Class AbstractKafkaConsumerService
java.lang.Object
com.linkedin.venice.service.AbstractVeniceService
com.linkedin.davinci.kafka.consumer.AbstractKafkaConsumerService
- All Implemented Interfaces:
Closeable,AutoCloseable
- Direct Known Subclasses:
KafkaConsumerService,KafkaConsumerServiceDelegator
-
Nested Class Summary
Nested classes/interfaces inherited from class com.linkedin.venice.service.AbstractVeniceService
AbstractVeniceService.ServiceState -
Field Summary
Fields inherited from class com.linkedin.venice.service.AbstractVeniceService
logger, serviceState -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract com.linkedin.davinci.kafka.consumer.SharedKafkaConsumerassignConsumerFor(PubSubTopic versionTopic, PubSubTopicPartition topicPartition) abstract voidbatchUnsubscribe(PubSubTopic versionTopic, Set<PubSubTopicPartition> topicPartitionsToUnSub) abstract com.linkedin.davinci.kafka.consumer.SharedKafkaConsumergetConsumerAssignedToVersionTopicPartition(PubSubTopic versionTopic, PubSubTopicPartition topicPartition) getIngestionInfoFor(PubSubTopic versionTopic, PubSubTopicPartition pubSubTopicPartition, boolean respectRedundantLoggingFilter) This is for providing ingestion related information for a specific topic partition from the implementation of this class.abstract longgetLatestOffsetBasedOnMetrics(PubSubTopic versionTopic, PubSubTopicPartition pubSubTopicPartition) abstract longabstract Map<PubSubTopicPartition,Long> getStaleTopicPartitions(long thresholdTimestamp) abstract booleanhasAnySubscriptionFor(PubSubTopic versionTopic) abstract voidstartConsumptionIntoDataReceiver(PartitionReplicaIngestionContext partitionReplicaIngestionContext, PubSubPosition lastReadPosition, ConsumedDataReceiver<List<DefaultPubSubMessage>> consumedDataReceiver) voidunSubscribe(PubSubTopic versionTopic, PubSubTopicPartition pubSubTopicPartition) abstract voidunSubscribe(PubSubTopic versionTopic, PubSubTopicPartition pubSubTopicPartition, long timeoutMs) abstract voidunsubscribeAll(PubSubTopic versionTopic) Methods inherited from class com.linkedin.venice.service.AbstractVeniceService
close, getName, isRunning, start, startInner, stop, stopInner
-
Constructor Details
-
AbstractKafkaConsumerService
public AbstractKafkaConsumerService()
-
-
Method Details
-
getConsumerAssignedToVersionTopicPartition
public abstract com.linkedin.davinci.kafka.consumer.SharedKafkaConsumer getConsumerAssignedToVersionTopicPartition(PubSubTopic versionTopic, PubSubTopicPartition topicPartition) -
assignConsumerFor
public abstract com.linkedin.davinci.kafka.consumer.SharedKafkaConsumer assignConsumerFor(PubSubTopic versionTopic, PubSubTopicPartition topicPartition) -
unsubscribeAll
-
unSubscribe
-
unSubscribe
public abstract void unSubscribe(PubSubTopic versionTopic, PubSubTopicPartition pubSubTopicPartition, long timeoutMs) -
batchUnsubscribe
public abstract void batchUnsubscribe(PubSubTopic versionTopic, Set<PubSubTopicPartition> topicPartitionsToUnSub) -
hasAnySubscriptionFor
-
getMaxElapsedTimeMSSinceLastPollInConsumerPool
public abstract long getMaxElapsedTimeMSSinceLastPollInConsumerPool() -
startConsumptionIntoDataReceiver
public abstract void startConsumptionIntoDataReceiver(PartitionReplicaIngestionContext partitionReplicaIngestionContext, PubSubPosition lastReadPosition, ConsumedDataReceiver<List<DefaultPubSubMessage>> consumedDataReceiver) -
getLatestOffsetBasedOnMetrics
public abstract long getLatestOffsetBasedOnMetrics(PubSubTopic versionTopic, PubSubTopicPartition pubSubTopicPartition) -
getIngestionInfoFor
public abstract Map<PubSubTopicPartition,TopicPartitionIngestionInfo> getIngestionInfoFor(PubSubTopic versionTopic, PubSubTopicPartition pubSubTopicPartition, boolean respectRedundantLoggingFilter) This is for providing ingestion related information for a specific topic partition from the implementation of this class.- Parameters:
respectRedundantLoggingFilter- here is to guide if we need to prepare the info map, set to true when calling from heartbeat monitoring to enable rate-limiting; set to false for admin commands or tests where all info is needed.
-
getStaleTopicPartitions
-