You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by mi...@apache.org on 2023/01/23 11:59:05 UTC

[kafka] branch trunk updated: MINOR: KafkaConfig should not expose internal config when queried for non-internal configs. (#13059)

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

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


The following commit(s) were added to refs/heads/trunk by this push:
     new 86c953d42e6 MINOR: KafkaConfig should not expose internal config when queried for non-internal configs. (#13059)
86c953d42e6 is described below

commit 86c953d42e61af787765f930e7cb685bc6f17dd4
Author: Kamal Chandraprakash <kc...@uber.com>
AuthorDate: Mon Jan 23 17:28:41 2023 +0530

    MINOR: KafkaConfig should not expose internal config when queried for non-internal configs. (#13059)
    
    Side fix: Print the topic/broker/broker-loggers configurations in the alphabetical/sorted order. This will be useful when the user supplies '--all' flag.
    
    Reviewers: Mickael Maison <mi...@gmail.com>, Luke Chen <sh...@gmail.com>
---
 core/src/main/scala/kafka/admin/ConfigCommand.scala            |  2 +-
 core/src/main/scala/kafka/server/KafkaConfig.scala             |  2 +-
 .../test/scala/unit/kafka/server/DynamicBrokerConfigTest.scala | 10 ++++++++++
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/core/src/main/scala/kafka/admin/ConfigCommand.scala b/core/src/main/scala/kafka/admin/ConfigCommand.scala
index 4821bbcd205..687e65378b9 100644
--- a/core/src/main/scala/kafka/admin/ConfigCommand.scala
+++ b/core/src/main/scala/kafka/admin/ConfigCommand.scala
@@ -579,7 +579,7 @@ object ConfigCommand extends Logging {
       .filter(entry => configSourceFilter match {
         case Some(configSource) => entry.source == configSource
         case None => true
-      }).toSeq
+      }).toSeq.sortBy(entry => entry.name())
   }
 
   private def describeQuotaConfigs(adminClient: Admin, entityTypes: List[String], entityNames: List[String]): Unit = {
diff --git a/core/src/main/scala/kafka/server/KafkaConfig.scala b/core/src/main/scala/kafka/server/KafkaConfig.scala
index 010a5283916..cc61b83cfa0 100755
--- a/core/src/main/scala/kafka/server/KafkaConfig.scala
+++ b/core/src/main/scala/kafka/server/KafkaConfig.scala
@@ -1516,7 +1516,7 @@ class KafkaConfig private(doLog: Boolean, val props: java.util.Map[_, _], dynami
   override def values: util.Map[String, _] =
     if (this eq currentConfig) super.values else currentConfig.values
   override def nonInternalValues: util.Map[String, _] =
-    if (this eq currentConfig) super.nonInternalValues else currentConfig.values
+    if (this eq currentConfig) super.nonInternalValues else currentConfig.nonInternalValues
   override def originalsStrings: util.Map[String, String] =
     if (this eq currentConfig) super.originalsStrings else currentConfig.originalsStrings
   override def originalsWithPrefix(prefix: String): util.Map[String, AnyRef] =
diff --git a/core/src/test/scala/unit/kafka/server/DynamicBrokerConfigTest.scala b/core/src/test/scala/unit/kafka/server/DynamicBrokerConfigTest.scala
index fb39c7e76fd..08f0d58d08f 100755
--- a/core/src/test/scala/unit/kafka/server/DynamicBrokerConfigTest.scala
+++ b/core/src/test/scala/unit/kafka/server/DynamicBrokerConfigTest.scala
@@ -588,6 +588,16 @@ class DynamicBrokerConfigTest {
     assertTrue(m.currentReporters.isEmpty)
   }
 
+  @Test
+  def testNonInternalValuesDoesNotExposeInternalConfigs(): Unit = {
+    val props = new Properties()
+    props.put(KafkaConfig.ZkConnectProp, "localhost:2181")
+    props.put(KafkaConfig.MetadataLogSegmentMinBytesProp, "1024")
+    val config = new KafkaConfig(props)
+    assertFalse(config.nonInternalValues.containsKey(KafkaConfig.MetadataLogSegmentMinBytesProp))
+    config.updateCurrentConfig(new KafkaConfig(props))
+    assertFalse(config.nonInternalValues.containsKey(KafkaConfig.MetadataLogSegmentMinBytesProp))
+  }
 }
 
 class TestDynamicThreadPool() extends BrokerReconfigurable {