Details
-
Sub-task
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
2.8.0
-
None
-
None
-
None
Description
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:
**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.
Attachments
Issue Links
- links to