...
Current state: Under Discussion
Discussion thread: here [Change the link from the KIP proposal email archive to your own email thread]
JIRA: here
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
...
KIP-226 added support for dynamic update of broker configuration. In this KIP, we propose to extend the support to dynamic update of a group of operationally important broker configs which will benefit the replication process.
...
Config | Use case |
---|---|
fetch.max.bytes | Maximum bytes expected for the entire fetch response. |
failed.authentication.delay | Connection close delay on failed authentication. |
replica.fetch.response.max.bytes | Maximum bytes expected for the entire fetch response. |
replica.fetch.wait.max.ms | Max wait time for each fetcher request issued by follower replicas. |
followerreplica.fetch.replication.throttled (new config to add) | Should all replication follower throttle |
leader.replication.throttled (new config to add) | Should all replication leader throttle |
Public Interfaces
This KIP introduces:
...
backoff.ms | The amount of time to sleep when fetch partition error occurs. |
replica.fetch.response.max.bytes | Maximum bytes expected for the entire fetch response. |
fetch.max.bytes: ReplicaManager will multi-inherit from BrokerReconfigurable but no reconfigurable interfaces need to be implemented since the fetcher request will calculate fetchMaxBytes as the minimum of fetchRequest.maxBytes and config.fetchMaxBytes
failed.authentication.delay: SocketServer
already implemented the Reconfigurable
interface. Setter method will be added in both Processor
and Selector
and update the Selector::
failedAuthenticationDelayMsProp
variable in the Reconfigure
callback.
replica.fetch.response.max.bytes: The two class ReplicaAlterLogDirsThread and ReplicaFetcherThread read this config as their class variable when they initialize. So they will multi-inherit from BrokerReconfigurable and implemented setter method to modify the class variable in the Reconfigure callback.
replica.fetch.wait.max.ms: The changes are similar to replica.fetch.response.max.bytes
Public Interfaces
...
Compatibility, Deprecation, and Migration Plan
- There won't be any impact on existing users.
- There won't be any change of in current behavior.
- No migration tool required
...