Alok Nikhil created KAFKA-12237: ----------------------------------- Summary: Support non-routable quorum voter addresses Key: KAFKA-12237 URL: https://issues.apache.org/jira/browse/KAFKA-12237 Project: Kafka Issue Type: Sub-task Reporter: Alok Nikhil Assignee: Alok Nikhil
With KIP-595, we expect the RaftConfig to specify the quorum voter endpoints upfront on startup. In the general case, this works fine. However, for testing we need a more lazy approach that discovers the other voters in the quorum after startup (i.e. controller port bind). This approach also lends itself well to cases where we might have an observer that discovers the voter endpoints from, say a `DescribeQuorum` event. Quoting [~hachikuji]: {panel} **At a high level, I think we should make {{0.0.0.0:0}} a valid address configuration from the perspective of {{KafkaRaftClient}}. We are telling the client that initialization of the endpoints will come at a later time and through some external mechanism. I think this is a generally useful capability even outside of testing. For example, we may eventually want to be able to initialize an observer from a {{bootstrap.servers}} configuration. In this case, discovery of the voter endpoints will come after we have (say) sent a {{DescribeQuorum}} to the cluster. We may also want to implement some of the more fancy bootstrapping options that etcd has, such as using an external service to facilitate address bootstrapping. {panel} -- This message was sent by Atlassian Jira (v8.3.4#803005)