THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block |
---|
public class DescribeQuorumResult {
private final KafkaFuture<QuorumInfo> quorumInfo;
public DescribeQuorumResult(KafkaFuture<QuorumInfo> quorumInfo) {
this.quorumInfo = quorumInfo;
}
/**
* Returns a future QuorumInfo
*/
public KafkaFuture<QuorumInfo> quorumInfo() {
return quorumInfo;
}
} |
...
Code Block |
---|
public class QuorumInfo { private final String topic; private final Integer leaderId; private final List<ReplicaState> voters; private final List<ReplicaState> observers; public QuorumInfo(String topic, Integer leaderId, List<ReplicaState> voters, List<ReplicaState> observers) { this.topic = topic; this.leaderId = leaderId; this.voters = voters; this.observers = observers; } public String getTopictopic() { return topic; } public Integer getLeaderIdleaderId() { return leaderId; } public List<ReplicaState> getVotersvoters() { return voters; } public List<ReplicaState> getObserversobservers() { return observers; } public static class ReplicaState ReplicaState { private final int replicaId; private final long logEndOffset; private final long lastFetchTimeMs; private final long lastCaughtUpTimeMs; public ReplicaState(int replicaId, long logEndOffset) { this.replicaId = replicaId; this.logEndOffset = logEndOffset; this.lastFetchTimeMs = -1; this.lastCaughtUpTimeMs = -1; } public ReplicaState(int replicaId, long logEndOffset, long lastFetchTimeMs, long lastCaughtUpTimeMs) { this.replicaId = replicaId; this.logEndOffset = logEndOffset; this.lastFetchTimeMs = lastFetchTimeMs; this.lastCaughtUpTimeMs = lastCaughtUpTimeMs; } public int replicaId() { private final intreturn replicaId; private final long logEndOffset;} public ReplicaState(int replicaId, long logEndOffset() { this.replicaId = replicaId; this.logEndOffset = return logEndOffset; } public intlong getReplicaIdlastFetchTimeMs() { return replicaIdlastFetchTimeMs; } public long getLogEndOffsetlastCaughtUpTimeMs() { return logEndOffsetlastCaughtUpTimeMs; } } } |
Code Block |
---|
public class DescribeQuorumOptions extends AbstractOptions<DescribeQuorumOptions> { } |
...
Proposed change in the DescribeQuorum
Response:
Code Block |
---|
"apiKey": 55,
"type": "response",
"name": "DescribeQuorumResponse",
"validVersions": "0-1",
"flexibleVersions": "0+",
"fields": [
{ "name": "ErrorCode", "type": "int16", "versions": "0+",
"about": "The top level error code."},
{ "name": "Topics", "type": "[]TopicData",
"versions": "0+", "fields": [
{ "name": "TopicName", "type": "string", "versions": "0+", "entityType": "topicName",
"about": "The topic name." },
{ "name": "Partitions", "type": "[]PartitionData",
"versions": "0+", "fields": [
{ "name": "PartitionIndex", "type": "int32", "versions": "0+",
"about": "The partition index." },
{ "name": "ErrorCode", "type": "int16", "versions": "0+"},
{ "name": "LeaderId", "type": "int32", "versions": "0+", "entityType": "brokerId",
"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": "HighWatermark", "type": "int64", "versions": "0+"},
{ "name": "CurrentVoters", "type": "[]ReplicaState", "versions": "0+" },
{ "name": "Observers", "type": "[]ReplicaState", "versions": "0+" }
]}
]}],
"commonStructs": [
{ "name": "ReplicaState", "versions": "0+", "fields": [
{ "name": "ReplicaId", "type": "int32", "versions": "0+", "entityType": "brokerId" },
{ "name": "LogEndOffset", "type": "int64", "versions": "0+",
"about": "The last known log end offset of the follower or -1 if it is unknown"},
{ "name": "LastFetchTimestamp", "type": "int64", "versions": "1+",
"about": "The last known leader wall clock time time when a follower fetched from the leader. This is reported as -1 both for the current leader or if it is unknown for a voter"},
{ "name": "LastCaughtUpTimestamp", "type": "int64", "versions": "1+",
"about": "The leader wall clock append time of the offset for which the follower made the most recent fetch request. This is reported as the current time for the leader and -1 if unknown for a voter"}
]}
] |
...