DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
// Version 1 adds Zk broker epoch to the request if the broker is migrating from Zk mode to KRaft mode.
// Version 2 adds the PreviousBrokerEpoch to the request for the KIP-966
// Version 3 is the same as version 2 (new field in request).
// Version 4 is the same as version 2 (new field in request).
// Version 5 is the same as version 2 (new field in request).
// Version 6 is the same as version 2 (new field in request).
{
"apiKey": 62,
"type": "response",
"name": "BrokerRegistrationResponse",
+ "validVersions": "0-6",
- "validVersions": "0-5",
"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": "BrokerEpoch", "type": "int64", "versions": "0+", "default": "-1",
"about": "The broker's assigned epoch, or -1 if none was assigned." }
]
} |
| Code Block | ||||
|---|---|---|---|---|
| ||||
diff --git a/metadata/src/main/resources/common/metadata/RegisterBrokerRecord.json b/metadata/src/main/resources/common/metadata/RegisterBrokerRecord.json
index b7db680cbd..5570cbd96f 100644
--- a/metadata/src/main/resources/common/metadata/RegisterBrokerRecord.json
+++ b/metadata/src/main/resources/common/metadata/RegisterBrokerRecord.json
@@ -17,11 +17,12 @@
// Version 2 adds IsMigratingZkBroker
// Version 3 adds LogDirs
// Version 4 adds CordonedLogDirs
+// Version 5 adds StaticConfigs for broker static config reporting.
{
"apiKey": 0,
"type": "metadata",
"name": "RegisterBrokerRecord",
- "validVersions": "0-4",
+ "validVersions": "0-5",
"flexibleVersions": "0+",
"fields": [
{ "name": "BrokerId", "type": "int32", "versions": "0+", "entityType": "brokerId",
@@ -61,6 +62,16 @@
{ "name": "LogDirs", "type": "[]uuid", "versions": "3+", "taggedVersions": "3+", "tag": 0,
"about": "Log directories configured in this broker which are available." },
{ "name": "CordonedLogDirs", "type": "[]uuid", "versions": "4+", "taggedVersions": "4+", "tag": "1",
- "about": "Log directories that are cordoned." }
+ "about": "Log directories that are cordoned." },
+ { "name": "StaticConfigs", "type": "[]BrokerStaticConfig", "versions": "5+",
+ "taggedVersions": "5+", "tag": 2,
+ "about": "Non-default static configs reported by the broker.", "fields": [
+ { "name": "Name", "type": "string", "versions": "5+",
+ "about": "The config name." },
+ { "name": "Value", "type": "string", "versions": "5+", "nullableVersions": "5+",
+ "about": "The config value. Null if the config is sensitive." },
+ { "name": "IsSensitive", "type": "bool", "versions": "5+", "default": "false",
+ "about": "True if this configuration is sensitive." }
+ ]}
]
} |
Compatibility, Deprecation, and Migration Plan
- Add unit test and integration test to cover new feature.
- When admin upgrade or downgrade to specific metadata version, if there is any illegal config, it will return InvalidConfigError
Test Plan
Describe in few sentences how the KIP will be tested. We are mostly interested in system tests (since unit-tests are specific to implementation details). How will we know that the implementation works as expected? How will we know nothing broke?
...