[controller][test] Remove legacy log.compaction.threshold.ms config - #2888
Closed
pthirun wants to merge 1 commit into
Closed
[controller][test] Remove legacy log.compaction.threshold.ms config#2888pthirun wants to merge 1 commit into
pthirun wants to merge 1 commit into
Conversation
The version-staleness threshold has two config keys: the current log.compaction.version.staleness.threshold.ms and a legacy log.compaction.threshold.ms that VeniceControllerClusterConfig only consulted as a fallback (getLong(VERSION_STALENESS, getLong(THRESHOLD_MS, 24h))). The version-staleness key is read first, so the legacy key is dead for any deployment that sets the new one. Remove LOG_COMPACTION_THRESHOLD_MS and its fallback read, and migrate the TestHybrid integration test onto LOG_COMPACTION_VERSION_STALENESS_THRESHOLD_MS. Breaking: deployments still setting log.compaction.threshold.ms must switch to log.compaction.version.staleness.threshold.ms, otherwise the threshold falls back to the 24h default.
|
Hi there. This pull request has been inactive for 30 days. To keep our review queue healthy, we plan to close it in 7 days unless there is new activity. If you are still working on this, please push a commit, leave a comment, or convert it to draft to signal intent. Thank you for your time and contributions. |
|
Closing this pull request due to 37 days of inactivity. This is not a judgment on the value of the work. If you would like to continue, please reopen or open a new PR and we will be happy to take another look. Thank you again for contributing. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem Statement
The log-compaction version-staleness threshold is configured by two keys: the current
log.compaction.version.staleness.threshold.msand a legacylog.compaction.threshold.ms.VeniceControllerClusterConfigreads the current key first and only falls back to the legacy one:For any deployment that sets the current key, the legacy key is dead. Keeping two keys for the same value is a maintenance hazard: an operator can set the legacy key and have it silently shadowed by the current one (or by the default).
Solution
LOG_COMPACTION_THRESHOLD_MSfromConfigKeysand drop the fallback read inVeniceControllerClusterConfig. The threshold now reads onlylog.compaction.version.staleness.threshold.ms, defaulting to 24h.TestHybridintegration test off the legacy key ontoLOG_COMPACTION_VERSION_STALENESS_THRESHOLD_MS, and rename its local constant to match.No behavior change for deployments already on the current key; the default stays 24h.
Code changes
Concurrency-Specific Checks
Not applicable. Config-key removal only.
How was this PR tested?
TestHybridmigrated to the current key. Builtvenice-common,venice-controller, and thevenice-test-commonintegration-test source set;TestVeniceControllerClusterConfigpasses;spotlessCheckpasses.Does this PR introduce any user-facing or breaking changes?
log.compaction.threshold.msmust switch tolog.compaction.version.staleness.threshold.ms. After this change the legacy key is ignored, so such a deployment falls back to the 24h default instead of its configured value.