Make warmup settings dynamic for pull-based ingestion#20931
Make warmup settings dynamic for pull-based ingestion#20931kaustubhbutte17 wants to merge 1 commit intoopensearch-project:mainfrom
Conversation
fdca451 to
7d78efa
Compare
PR Reviewer Guide 🔍(Review updated until commit 381320c)Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Latest suggestions up to 381320c Explore these optional code suggestions:
Previous suggestionsSuggestions up to commit 725179a
Suggestions up to commit cabc291
Suggestions up to commit 7d78efa
|
|
❌ Gradle check result for 7d78efa: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
7d78efa to
cabc291
Compare
|
Persistent review updated to latest commit cabc291 |
cabc291 to
725179a
Compare
|
Persistent review updated to latest commit 725179a |
Change warmup.timeout and warmup.lag_threshold from Final to Dynamic settings so they can be updated at runtime via the update settings API. This allows operators to: - Disable warmup while it's in progress (emergency escape hatch) - Adjust lag threshold without recreating the index - Change timeout without recreating the index Settings propagation: IndexSettings -> IndexShard.onSettingsChanged() -> IngestionEngine.updateWarmupConfig() -> DefaultStreamPoller.updateWarmupConfig() Signed-off-by: Kaustubh Butte <kaustubhbutte17@gmail.com>
725179a to
381320c
Compare
|
Persistent review updated to latest commit 381320c |
|
❌ Gradle check result for 381320c: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
Description
Follow-up to #20526. Changes the two warmup settings from
Final(immutable after index creation) toDynamic(updatable at runtime via the update settings API).This allows operators to adjust warmup behavior without recreating the index.
Settings Changed
index.ingestion_source.warmup.timeoutindex.ingestion_source.warmup.lag_thresholdUse Cases
Dynamic Update Behavior
Settings Propagation Path
Testing
testUpdateWarmupConfigDisableWhileInProgress— disabling mid-warmup marks completetestUpdateWarmupConfigThresholdWhileInProgress— threshold update during warmuptestUpdateWarmupConfigDoesNotReEnableAfterCompletion— no re-trigger after shard is servingtestUpdateWarmupConfigTimeoutWhileInProgress— timeout update during warmup