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 {