THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block | ||
---|---|---|
| ||
{ "apiKey": 58, "type": "request", "name": "BrokerHeartbeatRequest", "validVersions": "0", "flexibleVersions": "0+", "fields": [ { "name": "BrokerId", "type": "int32", "versions": "0+", "about": "The broker ID." }, { "name": "BrokerEpoch", "type": "int64", "versions": "0+", "default": "-1", "about": "The broker epoch." }, { "name": "CurrentMetadataOffset", "type": "int64", "versions": "0+", "about": "One more than the highest metadata offset which the broker has reached." }, { "name": "WantFence", "type": "bool", "versions": "0+", "about": "True if the broker wants to be fenced, false otherwise." } { "name": "WantShutDown", "type": "bool", "versions": "0+", "about": "True if the broker wants to initiate controlled shutdown." } ] } { "apiKey": 58, "type": "response", "name": "BrokerHeartbeatResponse", "validVersions": "0", "flexibleVersions": "0+", "fields": [ { "name": "ThrottleTimeMs", "type": "int32", "versions": "0+", "about": "Duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota." }, { "name": "ErrorCode", "type": "int16", "versions": "0+", "about": "The error code, or 0 if there was no error." }, { "name": "IsCaughtUp", "type": "bool", "versions": "0+", "about": "True if the broker has approximately caught up with the latest metadata." }, { "name": "IsFenced", "type": "bool", "versions": "0+", "about": "True if the broker is fenced." }, { "name": "ShouldShutDown", "type": "bool", "versions": "0+", "about": "True if the broker shoudlshould proceed with the controllerits shutdown." } ] } |
The controller will wait to unfence a broker until it sends a heartbeat where ShouldFence is false and CurrentMetadataOffset is caught up.
...