Versions Compared

Key

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

Table of Contents

Status

Current state: "Under DiscussionAccepted"

Discussion thread: https://lists.apache.org/thread/8oqzzko6rhmz08g8s6z1f2p9j1cvrn6v

Vote thread: https://lists.apache.org/thread/0ph0hwcfqdsfx3q3tbwow419cwj1glc1

JIRA:

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-19237

...

To ensure backward compatibility, the deprecated configuration remote.log.manager.thread.pool.size will still be functional. However, it should be removed in version 5.0.

The logic for RemoteLogManagerConfig#remoteLogManagerFollowerThreadPoolSize is shown below.

Code Block
languagejava
public int remoteLogManagerFollowerThreadPoolSize() {
    if (config.originals().containsKey(REMOTE_LOG_MANAGER_FOLLOWER_THREAD_POOL_SIZE_PROP)) {
        return config.getInt(REMOTE_LOG_MANAGER_FOLLOWER_THREAD_POOL_SIZE_PROP);
    } else {
        return config.getInt(REMOTE_LOG_MANAGER_THREAD_POOL_SIZE_PROP);
    }
}

This method first checks whether the user has explicitly set remote.log.manager.follower.thread.pool.size. If not, it falls back to remote.log.manager.thread.pool.size.

So remote.log.manager.follower.thread.pool.size always takes precedence, regardless of whether it's configured statically in the broker config file or dynamically at runtime.

For example, if the user sets If both remote.log.manager.thread.pool.size=10 and later dynamically configures remote.log.manager.follower.thread.pool.size are set=8, the latter will take precedencefollower thread pool size will be 8.

Test Plan

The patch will include both unit and integration tests to ensure full coverage.

...