public class TopicBasedPhysicalClusterMetadata extends io.confluent.kafka.multitenant.CommonTopicBasedPhysicalClusterMetadata<KafkaLogicalClusterMetadata>
Modifier and Type | Field and Description |
---|---|
SslCertificateManager |
sslCertificateManager |
TenantLifecycleManager |
tenantLifecycleManager |
Constructor and Description |
---|
TopicBasedPhysicalClusterMetadata(org.apache.kafka.common.metrics.Metrics metrics) |
TopicBasedPhysicalClusterMetadata(org.apache.kafka.common.metrics.Metrics metrics,
org.apache.kafka.common.utils.Time time) |
Modifier and Type | Method and Description |
---|---|
void |
configure(Map<String,?> configs)
Creates a consumer for the LKC metadata topic (named in the ConfluentConfigs.CDC_LKC_METADATA_TOPIC_CONFIG
config.)
Adds the instance for the given broker session UUID, specified in KafkaConfig.BrokerSessionUuidProp to the
static instance map.
|
String |
dedicatedLogicalClusterId() |
protected void |
ensureOpen() |
protected org.apache.kafka.common.metrics.Sensor |
getEndToEndSensor() |
protected String |
getSessionUuid(Map<String,?> configs) |
protected org.apache.kafka.common.metrics.Sensor |
getStartSensor() |
protected String |
getTopicClientId(Map<String,?> configs) |
protected String |
getTopicConfig() |
void |
handleSocketServerInitialized(String endpoint) |
Set<String> |
kafkaLogicalClusterIds() |
Set<String> |
logicalClusterIds() |
protected KafkaLogicalClusterMetadata |
parseLCM(org.apache.kafka.clients.consumer.ConsumerRecord<String,byte[]> record) |
protected void |
postUpdateBookkeeping() |
protected void |
recordEndToEndSensor(KafkaLogicalClusterMetadata newLcm) |
protected void |
shutdown()
After this method is called, querying the cache will throw IllegalStateException
|
Map<org.apache.kafka.common.Endpoint,CompletableFuture<Void>> |
start(Map<String,Object> interBrokerClientConfig,
Collection<org.apache.kafka.common.Endpoint> endpoints) |
protected void |
startLog() |
protected void |
updateLogicalCluster(String clusterId,
Long sequenceId,
KafkaLogicalClusterMetadata lcm) |
public TenantLifecycleManager tenantLifecycleManager
public SslCertificateManager sslCertificateManager
public TopicBasedPhysicalClusterMetadata(org.apache.kafka.common.metrics.Metrics metrics)
public TopicBasedPhysicalClusterMetadata(org.apache.kafka.common.metrics.Metrics metrics, org.apache.kafka.common.utils.Time time)
public void configure(Map<String,?> configs)
configure
in interface org.apache.kafka.common.Configurable
configure
in class io.confluent.kafka.multitenant.CommonTopicBasedPhysicalClusterMetadata<KafkaLogicalClusterMetadata>
configs
- broker configurationorg.apache.kafka.common.config.ConfigException
- if KafkaConfig.BrokerSessionUuidProp is not set, or
ConfluentConfigs.CDC_LKC_METADATA_TOPIC_CONFIG is not set, or
ConfluentConfigs.CDC_TOPIC_LOAD_TIMEOUT_MS_CONFIG is not set, or
unable to monitor the SSL certificates on disk.UnsupportedOperationException
- if another instance of this class with the same broker
session UUID was already configured.protected String getSessionUuid(Map<String,?> configs)
getSessionUuid
in class io.confluent.kafka.multitenant.CommonTopicBasedPhysicalClusterMetadata<KafkaLogicalClusterMetadata>
protected org.apache.kafka.common.metrics.Sensor getStartSensor()
getStartSensor
in class io.confluent.kafka.multitenant.CommonTopicBasedPhysicalClusterMetadata<KafkaLogicalClusterMetadata>
protected org.apache.kafka.common.metrics.Sensor getEndToEndSensor()
getEndToEndSensor
in class io.confluent.kafka.multitenant.CommonTopicBasedPhysicalClusterMetadata<KafkaLogicalClusterMetadata>
protected String getTopicConfig()
getTopicConfig
in class io.confluent.kafka.multitenant.CommonTopicBasedPhysicalClusterMetadata<KafkaLogicalClusterMetadata>
protected String getTopicClientId(Map<String,?> configs)
getTopicClientId
in class io.confluent.kafka.multitenant.CommonTopicBasedPhysicalClusterMetadata<KafkaLogicalClusterMetadata>
public void handleSocketServerInitialized(String endpoint)
public Map<org.apache.kafka.common.Endpoint,CompletableFuture<Void>> start(Map<String,Object> interBrokerClientConfig, Collection<org.apache.kafka.common.Endpoint> endpoints)
protected void startLog()
startLog
in class io.confluent.kafka.multitenant.CommonTopicBasedPhysicalClusterMetadata<KafkaLogicalClusterMetadata>
protected void shutdown()
shutdown
in class io.confluent.kafka.multitenant.CommonTopicBasedPhysicalClusterMetadata<KafkaLogicalClusterMetadata>
public String dedicatedLogicalClusterId()
public Set<String> logicalClusterIds()
logicalClusterIds
in class io.confluent.kafka.multitenant.CommonTopicBasedPhysicalClusterMetadata<KafkaLogicalClusterMetadata>
protected KafkaLogicalClusterMetadata parseLCM(org.apache.kafka.clients.consumer.ConsumerRecord<String,byte[]> record)
parseLCM
in class io.confluent.kafka.multitenant.CommonTopicBasedPhysicalClusterMetadata<KafkaLogicalClusterMetadata>
protected void recordEndToEndSensor(KafkaLogicalClusterMetadata newLcm)
recordEndToEndSensor
in class io.confluent.kafka.multitenant.CommonTopicBasedPhysicalClusterMetadata<KafkaLogicalClusterMetadata>
protected void postUpdateBookkeeping()
postUpdateBookkeeping
in class io.confluent.kafka.multitenant.CommonTopicBasedPhysicalClusterMetadata<KafkaLogicalClusterMetadata>
protected void updateLogicalCluster(String clusterId, Long sequenceId, KafkaLogicalClusterMetadata lcm)
updateLogicalCluster
in class io.confluent.kafka.multitenant.CommonTopicBasedPhysicalClusterMetadata<KafkaLogicalClusterMetadata>
protected void ensureOpen()
ensureOpen
in class io.confluent.kafka.multitenant.CommonTopicBasedPhysicalClusterMetadata<KafkaLogicalClusterMetadata>