Aatirhassanpir commented on PR #9996: URL: https://github.com/apache/kafka/pull/9996#issuecomment-2608039403
Title [FEATURE] Add client-side Decommission Broker RPC for KIP-500 Repository Version Apache Kafka 2.x.x Key Words / Search Terms Decommission Broker, RPC, KIP-500, Kafka Admin Client, Broker Removal, Self-managed Kafka Description This feature introduces the client-side implementation of the Decommission Broker RPC as part of KIP-500. This API will allow clients to request the removal of brokers from a Kafka cluster, ensuring smooth broker lifecycle management in self-managed (ZooKeeper-less) Kafka environments. It includes methods for decommissioning brokers and the necessary result classes to track the operation. Expected Behavior The client should be able to call the decommissionBroker method to decommission brokers by their ID. The operation should be supported only for self-managed Kafka clusters. The method should return a result object (DecommissionBrokerResult) that can track the status of the operation via KafkaFuture<Void>. The decommissioning process should trigger partition reassignment for the removed broker. Current Behavior Kafka currently does not provide an API for clients to directly decommission brokers. The broker decommissioning process requires interaction with the cluster, and there’s no clear way to manage it from the client side. Steps to reproduce (for bug reports) Call the existing Admin client API to decommission a broker. Observe that no such functionality is available, leading to an error or no result. Use cases / motivating examples (for feature requests) Cluster Scaling: When scaling down a Kafka cluster, it’s essential to decommission brokers gracefully without affecting data availability or cluster health. Self-managed Clusters: This feature is crucial for Kafka clusters that do not rely on ZooKeeper and are managed using KIP-500. Automated Broker Management: By providing this API, users can automate broker decommissioning processes within their operations, making cluster management more efficient. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org