...
Currently, if EndpointType in the DescribeClusterRequest is 2 (controllers), a list of registered controller nodes are returned using as the same DescribeClusterBroker classin the result. The DescribeClusterBroker class will be updated with the new field, "fenced". Therefore when returning controller nodes in the response, this field would just be set to false as the default value since this field is not relevant for controller nodes.
...
There will not be any significant change for Admin client AdminClient when describing a cluster. However the Node class used for reading the DescribeClusterResponse data will be updated with a new field, "fenced". If the response from the broker did not include fenced brokers and the new "fenced" field in broker description, the field in the Node class will be set to false as the default.
...
The console tool used for describing cluster will be updated with a new command to list nodes. When it is used with --bootstrap-server, the output will include STATE column to describe whether a broker is fenced. When it is used with --bootstrap-controller, the output will not include the STATE column as this is not relevant for controller nodes. Also if there is no rack information for any of the nodes, the RACK column will be omitted from the output.
Example:
Code Block | ||
---|---|---|
| ||
./bin/kafka-cluster.sh --bootstrap-server localhost:9092 list-nodes ID HOST PORT STATERACK RACKSTATE 0 broker-0 9092 rack-a unfenced 1 broker-1 9092 rack-b unfenced 2 broker-2 9092 rack-c fenced ./bin/kafka-cluster.sh --bootstrap-controller localhost:9093 list-nodes ID HOST PORT PORT RACK 0 controller-3 9093 1 controller-4 9093 2 controller-5 9093 |
Compatibility, Deprecation, and Migration Plan
...