This is an automated email from the ASF dual-hosted git repository.

junrao pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/kafka.git


The following commit(s) were added to refs/heads/3.0 by this push:
     new 4711700  MINOR: fix CreateTopic to return the same as DescribeTopic 
(#11348)
4711700 is described below

commit 47117000c91bba0da58363e0fe5969f5bec247d7
Author: Cong Ding <[email protected]>
AuthorDate: Tue Sep 21 18:29:38 2021 -0500

    MINOR: fix CreateTopic to return the same as DescribeTopic (#11348)
    
    Internal topic configs with default value are not included in the response 
of CreateTopic/DescribeTopic. However, if they are explicitly set, they will be 
included in the response.
    
    Reviewers: Jun Rao <[email protected]>
---
 core/src/main/scala/kafka/server/ConfigHelper.scala   | 8 ++++----
 core/src/main/scala/kafka/server/ZkAdminManager.scala | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/core/src/main/scala/kafka/server/ConfigHelper.scala 
b/core/src/main/scala/kafka/server/ConfigHelper.scala
index 779bea8..174d998 100644
--- a/core/src/main/scala/kafka/server/ConfigHelper.scala
+++ b/core/src/main/scala/kafka/server/ConfigHelper.scala
@@ -36,15 +36,15 @@ import scala.jdk.CollectionConverters._
 
 class ConfigHelper(metadataCache: MetadataCache, config: KafkaConfig, 
configRepository: ConfigRepository) extends Logging {
 
+  def allConfigs(config: AbstractConfig) = {
+    config.originals.asScala.filter(_._2 != null) ++ 
config.nonInternalValues.asScala
+  }
+
   def describeConfigs(resourceToConfigNames: List[DescribeConfigsResource],
                       includeSynonyms: Boolean,
                       includeDocumentation: Boolean): 
List[DescribeConfigsResponseData.DescribeConfigsResult] = {
     resourceToConfigNames.map { case resource =>
 
-      def allConfigs(config: AbstractConfig) = {
-        config.originals.asScala.filter(_._2 != null) ++ 
config.nonInternalValues.asScala
-      }
-
       def createResponseConfig(configs: Map[String, Any],
                                createConfigEntry: (String, Any) => 
DescribeConfigsResponseData.DescribeConfigsResourceResult): 
DescribeConfigsResponseData.DescribeConfigsResult = {
         val filteredConfigPairs = if (resource.configurationKeys == null || 
resource.configurationKeys.isEmpty)
diff --git a/core/src/main/scala/kafka/server/ZkAdminManager.scala 
b/core/src/main/scala/kafka/server/ZkAdminManager.scala
index 02d44cd..d2e7456 100644
--- a/core/src/main/scala/kafka/server/ZkAdminManager.scala
+++ b/core/src/main/scala/kafka/server/ZkAdminManager.scala
@@ -118,7 +118,7 @@ class ZkAdminManager(val config: KafkaConfig,
     metadataAndConfigs.get(topicName).foreach { result =>
       val logConfig = 
LogConfig.fromProps(LogConfig.extractLogConfigMap(config), configs)
       val createEntry = configHelper.createTopicConfigEntry(logConfig, 
configs, includeSynonyms = false, includeDocumentation = false)(_, _)
-      val topicConfigs = logConfig.nonInternalValues.asScala.map { case (k, v) 
=>
+      val topicConfigs = configHelper.allConfigs(logConfig).map { case (k, v) 
=>
         val entry = createEntry(k, v)
         new CreatableTopicConfigs()
           .setName(k)

Reply via email to