-
Notifications
You must be signed in to change notification settings - Fork 3.4k
HBASE-29796 Allow sleepForRetry replication config to be overridden by replication peers #7577
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
This squashed commit combines 8 commits: - Allow peers to override sleep config - Dynamic config update - Always get value - Use protobuf instead of string - Add to test - Add shell command - Use builder instead - Update UI to include sleep
The previous commit incorrectly added methods (getStartPosition, getRecoveredQueueStartPos, terminate) that don't exist in upstream master. These were from the old branch base and should not be included.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
🎊 +1 overall
This message was automatically generated. |
|
Since we have a Configuration Object in ReplicationPeerConfig, what about just create a combined Configuration instance and use it when creating ReplicationSource? In this way you can directly change the sleepForRetry through the configuration. |
|
🎊 +1 overall
This message was automatically generated. |
Just to confirm, you're suggesting I use the existing Configuration combinedConf = new Configuration(globalConf);
// Override any values in globalConf with the existing value in peerConfig
peerConfig.getConfiguration().forEach(combinedConf::set);
// set this.conf = combinedConf in the ReplicationSourceSet peer-specific override via Is that the approach you are looking for? |
Currently, sleepForRetries (the sleep time between retry attempts during replication) is only configurable globally via the replication.source.sleepforretries configuration property. This makes it impossible to tune behavior for individual replication peers that may have different requirements.
This change would add support for configuring sleepForRetries on a per-peer basis, with fallback to the global configuration when not set. It also adds UI support for displaying the field and shell support for editing the value.
This is related to #7578 because this will not cleanly merge into branch-2