Skip to content

Adding configurable resiliency features to MergedSegmentWarmer#19629

Merged
ashking94 merged 5 commits intoopensearch-project:mainfrom
kh3ra:dev/merged-segment-warmer-configs
Oct 24, 2025
Merged

Adding configurable resiliency features to MergedSegmentWarmer#19629
ashking94 merged 5 commits intoopensearch-project:mainfrom
kh3ra:dev/merged-segment-warmer-configs

Conversation

@kh3ra
Copy link
Copy Markdown
Contributor

@kh3ra kh3ra commented Oct 14, 2025

Description

Merge-related config changes

  1. Standardized merged segment warmer - related setting names.
  2. Added a threshold property that controls which merged segments get pre-copied (warmed), ensuring only segments larger than the specified size are warmed.
  3. Added cluster defaults for max_merge_count and max_merge_threads.
  4. AsyncPublishReferencedSegmentsTask only runs when INDICES_REPLICATION_MERGES_WARMER_ENABLED_SETTING = true

Related Issues

Public documentation - opensearch-project/documentation-website#11410

Check List

  • Functionality includes testing.
  • API changes companion pull request created, if applicable.
  • Public documentation issue/PR created, if applicable.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@github-actions
Copy link
Copy Markdown
Contributor

❌ Gradle check result for 3aeef75: 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?

@github-actions
Copy link
Copy Markdown
Contributor

❌ Gradle check result for f0feabe: null

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?

@kh3ra kh3ra force-pushed the dev/merged-segment-warmer-configs branch from f0feabe to 34610d9 Compare October 15, 2025 08:49
@github-actions
Copy link
Copy Markdown
Contributor

❌ Gradle check result for bbd9dd4: 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?

@kh3ra kh3ra force-pushed the dev/merged-segment-warmer-configs branch from bbd9dd4 to 2459597 Compare October 15, 2025 10:08
@github-actions
Copy link
Copy Markdown
Contributor

❌ Gradle check result for 2459597: 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?

@github-actions
Copy link
Copy Markdown
Contributor

❌ Gradle check result for 36d0a37: 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?

@github-actions
Copy link
Copy Markdown
Contributor

❌ Gradle check result for 4aec3d9: 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?

@github-actions
Copy link
Copy Markdown
Contributor

❌ Gradle check result for b06e2ac: 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?

@kh3ra
Copy link
Copy Markdown
Contributor Author

kh3ra commented Oct 23, 2025

Flaky test failure - #18484

@github-actions
Copy link
Copy Markdown
Contributor

❌ Gradle check result for af90e55: 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?

@github-actions
Copy link
Copy Markdown
Contributor

❌ Gradle check result for 32a46cc: 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?

@kh3ra kh3ra force-pushed the dev/merged-segment-warmer-configs branch from 32a46cc to 1b635d9 Compare October 23, 2025 17:09
@github-actions
Copy link
Copy Markdown
Contributor

❌ Gradle check result for b07e5da: 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?

@kh3ra kh3ra force-pushed the dev/merged-segment-warmer-configs branch from b07e5da to f9c1f3d Compare October 23, 2025 18:46
@github-actions
Copy link
Copy Markdown
Contributor

❌ Gradle check result for f9c1f3d: 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?

@github-actions
Copy link
Copy Markdown
Contributor

❌ Gradle check result for f9c1f3d: 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?

Aditya Khera added 5 commits October 24, 2025 14:14
Standardized merged segment warmer - related setting names.
Added a threshold property that controls which merged segments get pre-copied (warmed), ensuring only segments larger than the specified size are warmed.
Added cluster defaults for max_merge_count and max_merge_threads.
AsyncPublishReferencedSegmentsTask only runs when INDICES_REPLICATION_MERGES_WARMER_ENABLED_SETTING = true

Signed-off-by: Aditya Khera <kheraadi@amazon.com>
Signed-off-by: Aditya Khera <kheraadi@amazon.com>
Signed-off-by: Aditya Khera <kheraadi@amazon.com>
Signed-off-by: Aditya Khera <kheraadi@amazon.com>
Signed-off-by: Aditya Khera <kheraadi@amazon.com>
@kh3ra kh3ra force-pushed the dev/merged-segment-warmer-configs branch from f9c1f3d to 677c46a Compare October 24, 2025 08:44
@github-actions
Copy link
Copy Markdown
Contributor

✅ Gradle check result for 677c46a: SUCCESS

@ashking94 ashking94 merged commit 8f838f1 into opensearch-project:main Oct 24, 2025
33 checks passed
lawofcycles pushed a commit to lawofcycles/OpenSearch that referenced this pull request Oct 24, 2025
…earch-project#19629)

* Merge-related config changes

Standardized merged segment warmer - related setting names.
Added a threshold property that controls which merged segments get pre-copied (warmed), ensuring only segments larger than the specified size are warmed.
Added cluster defaults for max_merge_count and max_merge_threads.
AsyncPublishReferencedSegmentsTask only runs when INDICES_REPLICATION_MERGES_WARMER_ENABLED_SETTING = true

Signed-off-by: Aditya Khera <kheraadi@amazon.com>

* Empty commit to trigger build

Signed-off-by: Aditya Khera <kheraadi@amazon.com>

* Fixing flakiness in ClusterMergeSchedulerConfigsIT

Signed-off-by: Aditya Khera <kheraadi@amazon.com>

* Fixing breaking changes

Signed-off-by: Aditya Khera <kheraadi@amazon.com>

* API changes

Signed-off-by: Aditya Khera <kheraadi@amazon.com>

---------

Signed-off-by: Aditya Khera <kheraadi@amazon.com>
Co-authored-by: Aditya Khera <kheraadi@amazon.com>
anandpatel9998 pushed a commit to anandpatel9998/OpenSearch that referenced this pull request Nov 3, 2025
…earch-project#19629)

* Merge-related config changes

Standardized merged segment warmer - related setting names.
Added a threshold property that controls which merged segments get pre-copied (warmed), ensuring only segments larger than the specified size are warmed.
Added cluster defaults for max_merge_count and max_merge_threads.
AsyncPublishReferencedSegmentsTask only runs when INDICES_REPLICATION_MERGES_WARMER_ENABLED_SETTING = true

Signed-off-by: Aditya Khera <kheraadi@amazon.com>

* Empty commit to trigger build

Signed-off-by: Aditya Khera <kheraadi@amazon.com>

* Fixing flakiness in ClusterMergeSchedulerConfigsIT

Signed-off-by: Aditya Khera <kheraadi@amazon.com>

* Fixing breaking changes

Signed-off-by: Aditya Khera <kheraadi@amazon.com>

* API changes

Signed-off-by: Aditya Khera <kheraadi@amazon.com>

---------

Signed-off-by: Aditya Khera <kheraadi@amazon.com>
Co-authored-by: Aditya Khera <kheraadi@amazon.com>
}

public void testShouldWarm_failure() throws IOException {
ClassLoader.getSystemClassLoader().setDefaultAssertionStatus(false);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kh3ra @ashking94 Why was this added? We have tests that depend on assertions tripping when we test the invariants they are asserting. As I understand it this will disable assertions for this particular JVM instance, which JUnit will reuse to run subsequent tests on, though it's non-deterministic which tests will run on which JVM in what order. See #19765 where @varunbharadwaj and I have been struggling with an unrelated test failing due to assertions being disabled.

liuguoqingfz pushed a commit to liuguoqingfz/OpenSearch that referenced this pull request Dec 15, 2025
…earch-project#19629)

* Merge-related config changes

Standardized merged segment warmer - related setting names.
Added a threshold property that controls which merged segments get pre-copied (warmed), ensuring only segments larger than the specified size are warmed.
Added cluster defaults for max_merge_count and max_merge_threads.
AsyncPublishReferencedSegmentsTask only runs when INDICES_REPLICATION_MERGES_WARMER_ENABLED_SETTING = true

Signed-off-by: Aditya Khera <kheraadi@amazon.com>

* Empty commit to trigger build

Signed-off-by: Aditya Khera <kheraadi@amazon.com>

* Fixing flakiness in ClusterMergeSchedulerConfigsIT

Signed-off-by: Aditya Khera <kheraadi@amazon.com>

* Fixing breaking changes

Signed-off-by: Aditya Khera <kheraadi@amazon.com>

* API changes

Signed-off-by: Aditya Khera <kheraadi@amazon.com>

---------

Signed-off-by: Aditya Khera <kheraadi@amazon.com>
Co-authored-by: Aditya Khera <kheraadi@amazon.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants