[ 
https://issues.apache.org/jira/browse/KAFKA-21094?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chia-Ping Tsai reassigned KAFKA-21094:
--------------------------------------

    Assignee: Chia-Ping Tsai

> consolidate config generation in createTopics and describeConfigs
> -----------------------------------------------------------------
>
>                 Key: KAFKA-21094
>                 URL: https://issues.apache.org/jira/browse/KAFKA-21094
>             Project: Kafka
>          Issue Type: Improvement
>            Reporter: Jun Rao
>            Assignee: Chia-Ping Tsai
>            Priority: Major
>
> CreateTopics has the following path to generate the configs in the response.
> {code:java}
> controller/metadata sideReplicationControlManager.createTopic  → 
> computeEffectiveTopicConfigs(creationConfigs)      // 
> ReplicationControlManager.java:841      → 
> ConfigurationControlManager.computeEffectiveTopicConfigs(creationConfigs)   
> // :802          → KafkaConfigSchema.resolveEffectiveTopicConfigs(            
>               // KafkaConfigSchema.java:150  ← the call                
> staticConfig, clusterConfig(), nodeConfig, dynamicTopicConfigs)  → build 
> CreateTopicsResponseData.CreatableTopicConfigs   // 
> ReplicationControlManager.java:846The call: 
> KafkaConfigSchema.resolveEffectiveTopicConfigs(...) → returns Map<String, 
> ConfigEntry>. {code}
>  
> DescribeConfigs (topic) has a different path to generate the configs in its 
> response.
> {code:java}
> broker sideConfigHelper.describeConfigs                              // 
> ConfigHelper.scala:82  topicProps = configRepository.topicConfig(topic)       
>  // the topic's overrides  logConfig  = 
> LogConfig.fromProps(config.extractLogConfigMap, topicProps)   // :93  (broker 
> log defaults ⊕ topic overrides)  → ConfigHelperUtils.createResponseConfig(    
>            // :95  ← the call        resource, logConfig, 
> logConfig.overriddenConfigs, createTopicConfigEntry(...))The call: 
> ConfigHelperUtils.createResponseConfig(resource, logConfig, 
> explicitlySetConfigs, …). {code}
> It would be useful to look into if it's possible to consolidate them into a 
> single shared path to avoid divergence in the future.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to