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)