Class TenantQuotaCallback
java.lang.Object
io.confluent.kafka.multitenant.quota.TenantQuotaCallback
- All Implemented Interfaces:
org.apache.kafka.common.Configurable,org.apache.kafka.common.Reconfigurable,org.apache.kafka.server.quota.ClientQuotaCallback,org.apache.kafka.server.quota.ClusterLevelQuotaCallback
public class TenantQuotaCallback
extends Object
implements org.apache.kafka.server.quota.ClientQuotaCallback, org.apache.kafka.server.quota.ClusterLevelQuotaCallback, org.apache.kafka.common.Reconfigurable
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidclose()org.apache.kafka.server.quota.ClientQuotaClusterDescribercluster()clusterQuotaLimit(org.apache.kafka.server.quota.ClientQuotaType quotaType, Map<String, String> metricTags) voidelasticCkuDefinition(Map<String, String> metricTags) voidenableDynamicQuota(boolean enableDynamicQuota) static voidmaybeUpdateElasticCkuDefinition(String logicalClusterId, Map<org.apache.kafka.server.quota.ElasticCkuDefinitionUtils.ElasticCkuDefinitionKey, Integer> tenantElasticCkuDefinition) static voidmaybeUpdateFlexibleFanoutEnabled(String logicalClusterId, boolean isFlexFanoutEnabled) parentQuotaMetricTags(org.apache.kafka.server.quota.ClientQuotaType quotaType, Map<String, String> metricTags) quotaLimit(org.apache.kafka.server.quota.ClientQuotaType quotaType, Map<String, String> metricTags) quotaMetricTags(org.apache.kafka.server.quota.ClientQuotaType quotaType, org.apache.kafka.common.security.auth.KafkaPrincipal principal, String clientId) quotaMetricTagsFromTopic(org.apache.kafka.server.quota.ClientQuotaType quotaType, String topic) booleanquotaResetRequired(org.apache.kafka.server.quota.ClientQuotaType quotaType) voidreconfigure(Map<String, ?> configs) voidremoveQuota(org.apache.kafka.server.quota.ClientQuotaType quotaType, org.apache.kafka.server.quota.ClientQuotaEntity quotaEntity) booleanupdateClusterMetadata(org.apache.kafka.server.quota.ClientQuotaClusterDescriber cluster) Handle metadata update.booleanvoidupdateQuota(org.apache.kafka.server.quota.ClientQuotaType quotaType, org.apache.kafka.server.quota.ClientQuotaEntity quotaEntity, double newValue) static voidupdateQuotas(Map<String, io.confluent.kafka.multitenant.quota.MultiTenantQuotaConfig> tenantQuotas, io.confluent.kafka.multitenant.quota.MultiTenantQuotaConfig defaultTenantQuota) Update provisioned tenant quota configuration and/or default tenant quota.voidupdateTenantFlexFanoutEnabled(String logicalClusterId, Boolean isFlexFanoutEnabled) static voidupdateUserQuotas(String tenant, Map<String, io.confluent.kafka.multitenant.quota.MultiTenantQuotaConfig> userQuotas, io.confluent.kafka.multitenant.quota.MultiTenantQuotaConfig defaultUserQuota) voidvalidateReconfiguration(Map<String, ?> configs)
-
Constructor Details
-
TenantQuotaCallback
public TenantQuotaCallback()
-
-
Method Details
-
configure
-
reconfigurableConfigs
-
validateReconfiguration
-
reconfigure
-
quotaMetricTags
-
quotaMetricTagsFromTopic
public Map<String,String> quotaMetricTagsFromTopic(org.apache.kafka.server.quota.ClientQuotaType quotaType, String topic) throws InvalidParameterException - Specified by:
quotaMetricTagsFromTopicin interfaceorg.apache.kafka.server.quota.ClientQuotaCallback- Throws:
InvalidParameterException
-
parentQuotaMetricTags
-
quotaLimit
-
updateQuota
public void updateQuota(org.apache.kafka.server.quota.ClientQuotaType quotaType, org.apache.kafka.server.quota.ClientQuotaEntity quotaEntity, double newValue) - Specified by:
updateQuotain interfaceorg.apache.kafka.server.quota.ClientQuotaCallback
-
removeQuota
public void removeQuota(org.apache.kafka.server.quota.ClientQuotaType quotaType, org.apache.kafka.server.quota.ClientQuotaEntity quotaEntity) - Specified by:
removeQuotain interfaceorg.apache.kafka.server.quota.ClientQuotaCallback
-
updateDynamicQuotas
-
cleanUpTenantDynamicQuotas
-
enableDynamicQuota
public void enableDynamicQuota(boolean enableDynamicQuota) - Specified by:
enableDynamicQuotain interfaceorg.apache.kafka.server.quota.ClientQuotaCallback
-
quotaResetRequired
public boolean quotaResetRequired(org.apache.kafka.server.quota.ClientQuotaType quotaType) - Specified by:
quotaResetRequiredin interfaceorg.apache.kafka.server.quota.ClientQuotaCallback
-
updateClusterMetadata
public boolean updateClusterMetadata(org.apache.kafka.server.quota.ClientQuotaClusterDescriber cluster) Handle metadata update. This method is invoked whenever the broker receives UpdateMetadata request from the controller. Recompute all quotas to take the current partition allocation into account.- Specified by:
updateClusterMetadatain interfaceorg.apache.kafka.server.quota.ClientQuotaCallback
-
clusterQuotaLimit
-
elasticCkuDefinition
-
cluster
public org.apache.kafka.server.quota.ClientQuotaClusterDescriber cluster() -
close
public void close()- Specified by:
closein interfaceorg.apache.kafka.server.quota.ClientQuotaCallback
-
updateQuotas
public static void updateQuotas(Map<String, io.confluent.kafka.multitenant.quota.MultiTenantQuotaConfig> tenantQuotas, io.confluent.kafka.multitenant.quota.MultiTenantQuotaConfig defaultTenantQuota) Update provisioned tenant quota configuration and/or default tenant quota. This method is invoked when tenant cluster quotas or default tenant cluster quota is updated. -
maybeUpdateElasticCkuDefinition
-
maybeUpdateFlexibleFanoutEnabled
public static void maybeUpdateFlexibleFanoutEnabled(String logicalClusterId, boolean isFlexFanoutEnabled) -
updateUserQuotas
-
updateTenantFlexFanoutEnabled
-
getTenantWithFlexFanoutEnabled
-