Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
 {
   "apiKey": 14,
   "type": "metadata",
-  "name": "QuotaRecord",
+  "name": "ClientQuotaRecord",
-  "validVersions": "0",
+  "validVersions": "0-1",
+  "flexibleVersions": "1+",
   "fields": [
     { "name": "Entity", "type": "[]EntityData", "versions": "0+",
       "about": "The quota entity to alter.", "fields": [
       { "name": "EntityType", "type": "string", "versions": "0+",
         "about": "The entity type." },
       { "name": "EntityName", "type": "string", "versions": "0+", "nullableVersions": "0+",
         "about": "The name of the entity, or null if the default." }
     ]},
     { "name": "Key", "type": "string", "versions": "0+",
       "about": "The quota configuration key." },
     { "name": "Value", "type": "float64", "versions": "0+",
       "about": "The value to set, otherwise ignored if the value is to be removed." },
     { "name": "Remove", "type": "bool", "versions": "0+",
       "about": "Whether the quota configuration value should be removed, otherwise set." }
   ]
 }

BrokerRegistrationChangeRecord

Create a new record type named BrokerRegistrationChangeRecord. This record is similar to FenceBrokerRecord and UnfenceBrokerRecord , but more general. In the future, we will allow broker endpoints to be changed via this record.

ProducerIdsRecord

Correct the mistake the flexibleVersions was not set on ProducerIdsRecordNote that if "EndPoints" is present, the supplied endpoints replace the existing endpoints of the broker.

Code Block
 {
   "apiKey": 15,
   "type": "metadata",
   "name": "BrokerRegistrationChangeRecordProducerIdsRecord",
   "validVersions": "0",
+   "flexibleVersions": "0+",
   "fields": [
    { "name": "BrokerId", "type": "int32", "versions": "0+", "entityType": "brokerId",
      "about": "The ID of the requesting broker id." },
    { "name": "BrokerEpoch", "type": "int64", "versions": "0+",
   "default": "-1",
      "about": "The broker epoch assignedof bythe therequesting controller.broker" },
    { "name": "FencedProducerIdsEnd", "type": "int8int64", "versions": "0+", "taggedVersions": "0+", "tag": 0,
      "about": "-1The ifhighest theproducer brokerID has been unfenced, 0 if no change, 1 if the broker that has been fenced.generated" }
  ]
}

RemoveFeatureLevelRecord

Create a new record type named RemoveFeatureLevelRecord. This record removes a feature level.

Code Block
 {
   "apiKey": 16,
   "type": "metadata",
   "name": "RemoveFeatureLevelRecord",
   "validVersions": "0",
   "flexibleVersions": "0+",
   "fields": [
    { "name": "Name", "type": "string", "versions": "0+"
      "about": "The feature name." }
   ]
 }

BrokerRegistrationChangeRecord

Create a new record type named BrokerRegistrationChangeRecord. This record is similar to FenceBrokerRecord and UnfenceBrokerRecord , but more general. In the future, we will allow broker endpoints to be changed via this record.

Note that if "EndPoints" is present, the supplied endpoints replace the existing endpoints of the broker.

Code Block
 {
   "apiKey": 17,
   "type": "metadata",
   ,
    { "name": "EndPointsBrokerRegistrationChangeRecord",
   "typevalidVersions": "[]Listener0",
   "versionsflexibleVersions": "0+",
   "fields": [
    { "name": "BrokerId", "type": "int32", "taggedVersionsversions": "0+", "tagentityType": 1"brokerId",
      "about": "The listenersbroker of this broker or null if there was no change.",
      "nullableVersionsid." },
    { "name": "BrokerEpoch", "type": "0+int64", "defaultversions": "null0+",
      "fieldsabout": [
     "The broker epoch assigned by the controller." },
    { "name": "NameFenced", "type": "stringint8", "versions": "0+", "taggedVersions": "0+", "mapKeytag": true0,
      "about": "-1 if the broker has been unfenced, 0 if  "about": "The name of the endpointno change, 1 if the broker has been fenced." },
        { "name": "HostEndPoints", "type": "string[]Listener", "versions": "0+",
 "taggedVersions": "0+", "tag": 1,
      "about": "The hostname." },
        { "name": "Port", "type": "uint16", "versions": "0+listeners of this broker or null if there was no change.",
          "about"nullableVersions": "0+", "default": "null"The, port."fields": },[
        { "name": "SecurityProtocolName", "type": "int16string", "versions": "0+", "mapKey": true,
          "about": "The name securityof the protocolendpoint." },
      ]
  {  ]
 }

RemoveFeatureLevelRecord

Create a new record type named RemoveFeatureLevelRecord. This record removes a feature level.

Code Block
 {
   "apiKey": 16,
   "type": "metadata",
   "name": "Host", "type": "string", "versions": "0+",
          "about": "The hostname." },
        { "name": "RemoveFeatureLevelRecordPort",
 "type": "uint16", "validVersionsversions": "0+",
          "flexibleVersionsabout": "0+"The port." },
   "fields": [
    { "name": "NameSecurityProtocol", "type": "stringint16", "versions": "0+",
          "about": "The featuresecurity nameprotocol." }
      ]
   ]
 }

Compatibility, Deprecation, and Migration Plan

...