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

dengziming 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 a57e31e2071 MINOR:Fix hint about alter in TopicCommand (#13403)
a57e31e2071 is described below

commit a57e31e2071938fb86d190c12dee0277d3d1c6ad
Author: hudeqi <[email protected]>
AuthorDate: Mon Mar 20 19:40:28 2023 +0800

    MINOR:Fix hint about alter in TopicCommand (#13403)
    
    Since TopicCommand does not support updating the configuration of an 
existing topic, "and/or configuration for the topic." should be removed from 
the description of --alter, otherwise it will cause misunderstandings for those 
users of the old kafka version.
    
    Reviewers: dengziming <[email protected]>
---
 core/src/main/scala/kafka/admin/TopicCommand.scala | 22 +++++-----------------
 1 file changed, 5 insertions(+), 17 deletions(-)

diff --git a/core/src/main/scala/kafka/admin/TopicCommand.scala 
b/core/src/main/scala/kafka/admin/TopicCommand.scala
index 28b1f63de52..df448fccae7 100755
--- a/core/src/main/scala/kafka/admin/TopicCommand.scala
+++ b/core/src/main/scala/kafka/admin/TopicCommand.scala
@@ -89,11 +89,8 @@ object TopicCommand extends Logging {
     val replicationFactor = opts.replicationFactor
     val replicaAssignment = opts.replicaAssignment
     val configsToAdd = parseTopicConfigsToBeAdded(opts)
-    val configsToDelete = parseTopicConfigsToBeDeleted(opts)
-    val rackAwareMode = opts.rackAwareMode
 
     def hasReplicaAssignment: Boolean = replicaAssignment.isDefined
-    def hasPartitions: Boolean = partitions.isDefined
     def ifTopicDoesntExist(): Boolean = opts.ifNotExists
   }
 
@@ -444,14 +441,6 @@ object TopicCommand extends Logging {
     props
   }
 
-  def parseTopicConfigsToBeDeleted(opts: TopicCommandOptions): Seq[String] = {
-    val configsToBeDeleted = 
opts.configsToDelete.getOrElse(Collections.emptyList()).asScala.map(_.trim())
-    val propsToBeDeleted = new Properties
-    configsToBeDeleted.foreach(propsToBeDeleted.setProperty(_, ""))
-    LogConfig.validateNames(propsToBeDeleted)
-    configsToBeDeleted
-  }
-
   def parseReplicaAssignment(replicaAssignmentList: String): Map[Int, 
List[Int]] = {
     val partitionList = replicaAssignmentList.split(",")
     val ret = new mutable.LinkedHashMap[Int, List[Int]]()
@@ -499,10 +488,14 @@ object TopicCommand extends Logging {
       .describedAs("command config property file")
       .ofType(classOf[String])
 
+    private val kafkaConfigsCanAlterTopicConfigsViaBootstrapServer =
+      " (the kafka-configs CLI supports altering topic configs with a 
--bootstrap-server option)"
+
     private val listOpt = parser.accepts("list", "List all available topics.")
     private val createOpt = parser.accepts("create", "Create a new topic.")
     private val deleteOpt = parser.accepts("delete", "Delete a topic")
-    private val alterOpt = parser.accepts("alter", "Alter the number of 
partitions, replica assignment, and/or configuration for the topic.")
+    private val alterOpt = parser.accepts("alter", "Alter the number of 
partitions and replica assignment. " +
+      "Update the configuration of an existing topic via --alter is no longer 
supported here" + kafkaConfigsCanAlterTopicConfigsViaBootstrapServer + ".")
     private val describeOpt = parser.accepts("describe", "List details for the 
given topics.")
     private val topicOpt = parser.accepts("topic", "The topic to create, 
alter, describe or delete. It also accepts a regular " +
                                            "expression, except for --create 
option. Put topic name in double quotes and use the '\\' prefix " +
@@ -516,8 +509,6 @@ object TopicCommand extends Logging {
       .describedAs("topic-id")
       .ofType(classOf[String])
     private val nl = System.getProperty("line.separator")
-    private val kafkaConfigsCanAlterTopicConfigsViaBootstrapServer =
-      " (the kafka-configs CLI supports altering topic configs with a 
--bootstrap-server option)"
     private val configOpt = parser.accepts("config", "A topic configuration 
override for the topic being created or altered." +
                                              " The following is a list of 
valid configurations: " + nl + LogConfig.configNames.asScala.map("\t" + 
_).mkString(nl) + nl +
                                              "See the Kafka documentation for 
full details on the topic configs." +
@@ -560,8 +551,6 @@ object TopicCommand extends Logging {
     private val ifNotExistsOpt = parser.accepts("if-not-exists",
       "if set when creating topics, the action will only execute if the topic 
does not already exist.")
 
-    private val disableRackAware = parser.accepts("disable-rack-aware", 
"Disable rack aware replica assignment")
-
     private val excludeInternalTopicOpt = parser.accepts("exclude-internal",
       "exclude internal topics when running list or describe command. The 
internal topics will be listed by default")
 
@@ -592,7 +581,6 @@ object TopicCommand extends Logging {
         Some(parseReplicaAssignment(options.valueOf(replicaAssignmentOpt)))
       else
         None
-    def rackAwareMode: RackAwareMode = if (has(disableRackAware)) 
RackAwareMode.Disabled else RackAwareMode.Enforced
     def reportUnderReplicatedPartitions: Boolean = 
has(reportUnderReplicatedPartitionsOpt)
     def reportUnavailablePartitions: Boolean = 
has(reportUnavailablePartitionsOpt)
     def reportUnderMinIsrPartitions: Boolean = 
has(reportUnderMinIsrPartitionsOpt)

Reply via email to