Class CreateTopicPolicy
java.lang.Object
io.confluent.kafka.server.plugins.policy.CreateTopicPolicy
- All Implemented Interfaces:
AutoCloseable,org.apache.kafka.common.Configurable,org.apache.kafka.common.Reconfigurable,org.apache.kafka.metadata.ConfluentPartitionsPerTopicListener,org.apache.kafka.server.interceptor.Monitorable,org.apache.kafka.server.multitenant.MultiTenantMetadataPublisher,org.apache.kafka.server.policy.CreateTopicPolicy
public class CreateTopicPolicy
extends Object
implements org.apache.kafka.server.policy.CreateTopicPolicy, org.apache.kafka.metadata.ConfluentPartitionsPerTopicListener, org.apache.kafka.server.interceptor.Monitorable, org.apache.kafka.server.multitenant.MultiTenantMetadataPublisher, org.apache.kafka.common.Reconfigurable
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.kafka.server.policy.CreateTopicPolicy
org.apache.kafka.server.policy.CreateTopicPolicy.RequestMetadata -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidclose()voidfrequencies(Collection<List<E>> items, Function<E, Integer> mapper) voidfullUpdate(Iterator<Map.Entry<String, Integer>> iterator, Map<Integer, Integer> brokersToNumReplicas, Set<String> compactedTopics) name()voidonMetadataUpdate(Map<String, ? extends org.apache.kafka.server.multitenant.LogicalClusterMetadata> multiTenantMetadataDelta) voidpartialUpdate(String topicName, int numPartitionsAddedOrDeleted, int numTopicsAddedOrDeleted, Map<Integer, List<Integer>> partitionIdToReplicasAdded, Map<Integer, List<Integer>> partitionIdToReplicasDeleted, boolean pending, boolean isCompacted) voidreconfigure(Map<String, ?> configs) voidregisterMetrics(org.apache.kafka.common.metrics.Metrics metrics) voidupdateTopicPartitionsOnCompactConfigChange(String topicName, String oldValue, String newValue, int numPartitions) This file keeps track of a few tenant level andtopic level counters.voidvalidate(org.apache.kafka.server.policy.CreateTopicPolicy.RequestMetadata reqMetadata) voidvalidateReconfiguration(Map<String, ?> configs)
-
Constructor Details
-
CreateTopicPolicy
public CreateTopicPolicy()
-
-
Method Details
-
configure
-
registerMetrics
public void registerMetrics(org.apache.kafka.common.metrics.Metrics metrics) - Specified by:
registerMetricsin interfaceorg.apache.kafka.server.interceptor.Monitorable
-
validate
public void validate(org.apache.kafka.server.policy.CreateTopicPolicy.RequestMetadata reqMetadata) throws org.apache.kafka.common.errors.PolicyViolationException - Specified by:
validatein interfaceorg.apache.kafka.server.policy.CreateTopicPolicy- Throws:
org.apache.kafka.common.errors.PolicyViolationException
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-
fullUpdate
-
partialUpdate
public void partialUpdate(String topicName, int numPartitionsAddedOrDeleted, int numTopicsAddedOrDeleted, Map<Integer, List<Integer>> partitionIdToReplicasAdded, Map<Integer, List<Integer>> partitionIdToReplicasDeleted, boolean pending, boolean isCompacted) - Specified by:
partialUpdatein interfaceorg.apache.kafka.metadata.ConfluentPartitionsPerTopicListener
-
clearPending
public void clearPending()- Specified by:
clearPendingin interfaceorg.apache.kafka.metadata.ConfluentPartitionsPerTopicListener
-
name
- Specified by:
namein interfaceorg.apache.kafka.server.multitenant.MultiTenantMetadataPublisher
-
onMetadataUpdate
-
reconfigurableConfigs
-
validateReconfiguration
-
reconfigure
-
updateTopicPartitionsOnCompactConfigChange
public void updateTopicPartitionsOnCompactConfigChange(String topicName, String oldValue, String newValue, int numPartitions) This file keeps track of a few tenant level andtopic level counters. tenantToNumCompactedPartitions -> Map of tenant to number of compacted partitions each tenant has for tracking purposes compactedPartitionsByTenantMetrics -> Map of tenant to compacted partition count gauge metric for metric reporting purposes pendingTenantCompactedPartitionsAddedOrDeleted -> Map of tenants to partition counts that are in pending state pendingTopicsToPartitions -> Map of topic to partition counts that are in pending state This function gets invoked when a topic's cleanup policy gets updated from delete to compact and vice versa Based on the topic config change, the above-mentioned counters are updated accordingly For example, if a topic's cleanup policy gets updated from compact to delete, then the counters have to be decremented and if the topic's policy gets updated from delete to compact, then the counters have to be incremented.- Specified by:
updateTopicPartitionsOnCompactConfigChangein interfaceorg.apache.kafka.metadata.ConfluentPartitionsPerTopicListener- Parameters:
topicName- The topic name.oldValue- Old value of the topic's clean up policynewValue- Updated value of the topic's clean up policynumPartitions- Number of partitions the topic has
-
topicPolicyConfig
-
frequencies
-