...
Public Interfaces + Proposed Changes
(1)
...
Quotas should be modifiable via Admin::incrementalAlterConfigs()
...
The Admin
signature would not change:
...
On the server side, incrementAlterConfigs
would be updated to accept these new resource types, and would perform the expected configuration update to ZooKeeper.
ACLs would required WRITE
at the cluster level.
(2) Quotas should be describable via Admin::describeConfigs()
...
The Admin signature would not change:
...
// Dynamic user/client configurations, in order of descending precedence.
DYNAMIC_USER_CLIENT_CONFIG, // /config/users/<user>/clients/<client-id>
DYNAMIC_USER_DEFAULT_CLIENT_CONFIG, // /config/users/<user>/clients/<default>
DYNAMIC_USER_CONFIG, // /config/users/<user>
DYNAMIC_DEFAULT_USER_CLIENT_CONFIG, // /config/users/<default>/clients/<client-id>
DYNAMIC_DEFAULT_USER_DEFAULT_CLIENT_CONFIG, // /config/users/<default>/clients/<default>
DYNAMIC_DEFAULT_USER_CONFIG, // /config/users/<default>
DYNAMIC_CLIENT_CONFIG, // /config/clients/<client-id>
DYNAMIC_DEFAULT_CLIENT_CONFIG // /config/clients/<default>
}
}
ACLs would required READ
at the cluster level.
(3) Quotas should be administrated via ConfigCommand
(kafka-configs.sh
) using --boostrap-server
(non-ZK)
KIP-543 addresses ConfigCommand
usage. In short, it should be (practically) identical to the Zookeeper method.
Compatibility, Deprecation, and Migration Plan
...