Class BrokersClusterService
java.lang.Object
pl.allegro.tech.hermes.management.infrastructure.kafka.service.BrokersClusterService
-
Constructor Summary
ConstructorsConstructorDescriptionBrokersClusterService(String datacenter, String clusterName, SingleMessageReader singleMessageReader, RetransmissionService retransmissionService, BrokerTopicManagement brokerTopicManagement, pl.allegro.tech.hermes.common.kafka.KafkaNamesMapper kafkaNamesMapper, OffsetsAvailableChecker offsetsAvailableChecker, LogEndOffsetChecker logEndOffsetChecker, org.apache.kafka.clients.admin.AdminClient adminClient, ConsumerGroupManager consumerGroupManager) -
Method Summary
Modifier and TypeMethodDescriptionbooleanallSubscriptionsHaveConsumersAssigned(pl.allegro.tech.hermes.api.Topic topic, List<pl.allegro.tech.hermes.api.Subscription> subscriptions) booleanareOffsetsAvailableOnAllKafkaTopics(pl.allegro.tech.hermes.api.Topic topic) booleanareOffsetsMoved(pl.allegro.tech.hermes.api.Topic topic, String subscriptionName) voidcreateConsumerGroup(pl.allegro.tech.hermes.api.Topic topic, pl.allegro.tech.hermes.api.Subscription subscription) voiddeleteConsumerGroup(pl.allegro.tech.hermes.api.SubscriptionName subscriptionName) Optional<pl.allegro.tech.hermes.api.ConsumerGroup> describeConsumerGroup(pl.allegro.tech.hermes.api.Topic topic, String subscriptionName) List<pl.allegro.tech.hermes.common.kafka.offset.PartitionOffset> fetchTopicOffsetsAt(pl.allegro.tech.hermes.api.Topic topic, Long timestamp) voidindicateOffsetChange(pl.allegro.tech.hermes.api.Topic topic, String subscriptionName, List<pl.allegro.tech.hermes.common.kafka.offset.PartitionOffset> partitionOffsets) voidmanageTopic(Consumer<BrokerTopicManagement> manageFunction) voidmoveOffsets(pl.allegro.tech.hermes.api.SubscriptionName subscription, List<pl.allegro.tech.hermes.common.kafka.offset.PartitionOffset> offsets) readMessageFromPrimary(pl.allegro.tech.hermes.api.Topic topic, Integer partition, Long offset) voidremoveTopicByName(String topicName) booleantopicExists(pl.allegro.tech.hermes.api.Topic topic) voidvalidateIfOffsetsCanBeMoved(pl.allegro.tech.hermes.api.Topic topic, pl.allegro.tech.hermes.api.SubscriptionName subscription) voidvalidateIfOffsetsCanBeMovedByConsumers(pl.allegro.tech.hermes.api.Topic topic, pl.allegro.tech.hermes.api.SubscriptionName subscription)
-
Constructor Details
-
BrokersClusterService
public BrokersClusterService(String datacenter, String clusterName, SingleMessageReader singleMessageReader, RetransmissionService retransmissionService, BrokerTopicManagement brokerTopicManagement, pl.allegro.tech.hermes.common.kafka.KafkaNamesMapper kafkaNamesMapper, OffsetsAvailableChecker offsetsAvailableChecker, LogEndOffsetChecker logEndOffsetChecker, org.apache.kafka.clients.admin.AdminClient adminClient, ConsumerGroupManager consumerGroupManager)
-
-
Method Details
-
getClusterName
-
getDatacenter
-
manageTopic
-
readMessageFromPrimary
-
indicateOffsetChange
-
fetchTopicOffsetsAt
-
areOffsetsAvailableOnAllKafkaTopics
public boolean areOffsetsAvailableOnAllKafkaTopics(pl.allegro.tech.hermes.api.Topic topic) -
topicExists
public boolean topicExists(pl.allegro.tech.hermes.api.Topic topic) -
listTopicsFromCluster
-
removeTopicByName
-
areOffsetsMoved
-
allSubscriptionsHaveConsumersAssigned
public boolean allSubscriptionsHaveConsumersAssigned(pl.allegro.tech.hermes.api.Topic topic, List<pl.allegro.tech.hermes.api.Subscription> subscriptions) -
createConsumerGroup
public void createConsumerGroup(pl.allegro.tech.hermes.api.Topic topic, pl.allegro.tech.hermes.api.Subscription subscription) -
deleteConsumerGroup
public void deleteConsumerGroup(pl.allegro.tech.hermes.api.SubscriptionName subscriptionName) -
describeConsumerGroup
-
moveOffsets
public void moveOffsets(pl.allegro.tech.hermes.api.SubscriptionName subscription, List<pl.allegro.tech.hermes.common.kafka.offset.PartitionOffset> offsets) -
validateIfOffsetsCanBeMovedByConsumers
public void validateIfOffsetsCanBeMovedByConsumers(pl.allegro.tech.hermes.api.Topic topic, pl.allegro.tech.hermes.api.SubscriptionName subscription) -
validateIfOffsetsCanBeMoved
public void validateIfOffsetsCanBeMoved(pl.allegro.tech.hermes.api.Topic topic, pl.allegro.tech.hermes.api.SubscriptionName subscription)
-