Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Code Block
Replica {                                // a replica of a partition
  broker_id               : int
  partition               : Partition
  log                     : Log          // local log associated with this replica
  hw                      : long         // offset of the last committed message
  leo                     : long         // log end offset
  isLeader                : Boolean      // is this replica leader
}

Partition {                              //a partition in a topic
  topic                   : string
  partition_id            : int
  leader                  : Replica      // the leader replica of this partition
  ISR                     : Set[Replica] // In-sync replica set, maintained at the leader
  AR                      : Set[Replica] // All replicas assigned for this partition
  LeaderAndISRVersionInZK : long         // version id of the LeaderAndISR path; used for conditionally update the LeaderAndISR path in ZK
}



LeaderAndISRCommandLeaderAndISRRequest {
  isInitrequest_type_id         : int16 // the request id
  version_id  :  byte         // whether: thisint16 is// the firstversion commandof issuedthis by a controller
request
  client_id   leaderAndISRMap         : Map[(topic: String, partitionId: int) => LeaderAndISR) int32 // athis mapcan of LeaderAndISR
}


LeaderAndISR {
  leader    be the broker id of the controller
  ack_timeout              : intint32 // the time in ms to wait for a response
 // brokerisInit id of the leader
  leaderGenId             : intbyte  // whether this is the first command issued //by leadera generationcontroller
 id, incrementedleaderAndISRMap on each leadership change
  ISR   : Map[(topic: String, partitionId: int32) => LeaderAndISR) // a map of LeaderAndISR
}


LeaderAndISR {
  leader    : Set[int]             : int32          // abroker setid of the id of each broker in ISR
  zkVersion leader
  leaderEpoc              : int32          // leader epoc, incremented on each leadership change
  ISR                 : long   : Set[int32]     // a versionset of the LeaderAndISRid pathof each broker in ISR
  zkVersion               : int64          // version of the LeaderAndISR path in ZK
}


LeaderAndISRResponse {
  responseMap {
  version_id              : int16 // the version of this request
  responseMap             : Map[(topic: String, partitionId: int32) => int16) // a map of error code
}

StopReplicaRequest {
  request_type_id         : int16 // the request id
  version_id              : int16 // the version of this request
  client_id               : int32 // this can be the broker id of the controller
  ack_timeout             : Map[(topic: String, partitionId: int) => int) // a map of error code
}

StopReplicaCommand {
int32 // the time in ms to wait for a response
  stopReplicaSet          : Set[(topic: String, partitionId: int)) // a set of partitions to be stopped
}


StopReplicaResponse {
  responseMap  version_id              : int16 // the version of this request
  responseMap             : Map[(topic: String, partitionId: intint32) => intint16) // a map of error code
}

...