THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block |
---|
{
"apiKey": N,
"type": "request",
"name": "FindQuorumRequest",
"validVersions": "0",
"flexibleVersions": "0+",
"fields": [
{ "name": "ReplicaId", "type": "int32", "versions": "0+"},
{ "name": "BootTimestamp", "type": "int64", "versions": "0+"},
{ "name": "Host", "type": "string", "versions": "0+"},
{ "name": "Port", "type": "int32", "versions": "0+"},
{ "name": "SecurityProtocol", "type": "int16", "versions": "0+"}
]
} |
The BootTimestamp
field is defined when a broker starts up. We use this as a heuristic for finding the latest connection information for a given replica.
...
Code Block |
---|
{ "apiKey": N, "type": "response", "name": "FindQuorumResponse", "validVersions": "0", "flexibleVersions": "0+", "fields": [ {"name": "ErrorCode", "type": "int16", "versions": "0+"}, {"name": "ClusterId", "type": "string", "versions": "0+"}, {"name": "LeaderId", "type": "int32", "versions": "0+", "about": "The ID of the current leader or -1 if the leader is unknown."}, {"name": "LeaderEpoch", "type": "int32", "versions": "0+", "about": "The latest known leader epoch"} {"name": "Voters", "type": "[]Voter", "versions": "0+", "about": "The current voters" }, {"name": "TargetVoters", "type": "[]Voter", "versions": "0+", "nullableVersion": "0+", "about": "The target voters if there is a reassignment in progress, null otherwise" }, ], "commonStructs": [ { "name": "Voter", "versions": "0+", "fields": [ { "name": "VoterId", "type": "int32", "versions": "0+"}, { "name": "BootTimestamp", "type": "int64", "versions": "0+"}, { "name": "Host", "type": "string", "versions": "0+"}, { "name": "Port", "type": "int32", "versions": "0+"}, { "name": "SecurityProtocol", "type": "int16", "versions": "0+"} } ] } |
Note that only the host and port information are provided. We assume that the security protocol will be configured with security.inter.broker.protocol
. Additionally, the listener that is advertised through this API is the same one specified by inter.broker.listener.name
.
FindQuorum Request Handling
...