[ https://issues.apache.org/jira/browse/KAFKA-13398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17433767#comment-17433767 ]
Luke Chen commented on KAFKA-13398: ----------------------------------- [~RivenSun], thanks for reporting the issue. So, basically, you initiated some requests via ReassignPartitionsCommand/ConsumerGroupCommand to achieve something you can't do with adminClient. But if I remember correctly, most the requests inside ReassignPartitionsCommand/ConsumerGroupCommand are also using adminClient, since we've removed the zookeeper option support. Could you tell us more what operations you tried to do via ReassignPartitionsCommand/ConsumerGroupCommand? The xxxCommand is expected to be called via kafka-xxx.sh, and that's why it exited directly. > Can I use KafkaAdminClient of version 3.0.0 to initiate > *alterPartitionReassignments* and *alterConsumerGroupOffsets* requests for > these two methods to brokers of 2.5.0 (or lower versions)? These 2 methods are implemented in KAFKA-7689 and KAFKA-8345, which are in version v2.5.0 and later. So, you're good to use them to initiate requests to brokers in V2.5.0. Thank you. > The caller program will be shut down directly when the execution of Kafka > script is abnormal > -------------------------------------------------------------------------------------------- > > Key: KAFKA-13398 > URL: https://issues.apache.org/jira/browse/KAFKA-13398 > Project: Kafka > Issue Type: Improvement > Components: admin > Affects Versions: 3.0.0 > Reporter: RivenSun > Priority: Major > > hello [~showuon] and [~guozhang] > Kafka has some key functions that have not yet been integrated into > Java-AdminClient, so I have to use some Scala classes in the Kafka Server > `kafka.admin` package in my java program, such as: > `ReassignPartitionsCommand`, `ConsumerGroupCommand` (reset group offsets), > and etc., to call their `*main(args: Array[String])*` methods in order to > achieve specific functions. > *Problem*: > 1. In different Kafka versions, these Scala classes may have different > requirements for input parameters, or they may have different treatments for > the results of command execution. > 1) `ReassignPartitionsCommand` requires --bootstrap-server is required in > the latest high version, > but requires --zookeeper in the low version. > Once the parameter verification fails, the *Exit.exit(1, Some(message))* > method will be called, which will cause my process to shut down directly. > 2) In Kafka 3.0.0 version, there is this code at the end in the `*main(args: > Array[String])*` method of `ReassignPartitionsCommand` > {code:java} > // If the command failed, exit with a non-zero exit code. > if (failed) { > Exit.exit(1) > }{code} > This will also make my process shut down directly > So I hope that the Kafka community will be able to print out the reason and > stack of the corresponding exception when the parameter verification fails or > the execution command is abnormal, and then return from the `*main(args: > Array[String])*` method of the command, but don't call `*Exit.exit(...)*` > method. Of course, when the script is executed on the machine, there is no > problem with exiting directly. > -- This message was sent by Atlassian Jira (v8.3.4#803005)