Add module wiring and integration tests for WritableWarm tiered storage - #21427
Conversation
PR Code Analyzer ❗AI-powered 'Code-Diff-Analyzer' found issues on commit 2dad6df.
The table above displays the top 10 most important findings. Pull Requests Author(s): Please update your Pull Request according to the report above. Repository Maintainer(s): You can Thanks. |
2dad6df to
61c7e09
Compare
PR Reviewer Guide 🔍(Review updated until commit b4ad170)Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Latest suggestions up to b4ad170 Explore these optional code suggestions:
Previous suggestionsSuggestions up to commit b4ad170
Suggestions up to commit 9af0520
Suggestions up to commit f1f484d
Suggestions up to commit 7463a62
Suggestions up to commit 1ed6f00
|
|
❌ Gradle check result for 61c7e09: 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? |
61c7e09 to
faa7672
Compare
|
Persistent review updated to latest commit faa7672 |
|
❌ Gradle check result for faa7672: 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? |
|
Persistent review updated to latest commit 47a3138 |
6b4a26c to
6a6971f
Compare
|
Persistent review updated to latest commit 6a6971f |
6a6971f to
1ed6f00
Compare
|
Persistent review updated to latest commit 1ed6f00 |
1ed6f00 to
7463a62
Compare
|
Persistent review updated to latest commit 7463a62 |
|
❌ Gradle check result for 7463a62: 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? |
|
Persistent review updated to latest commit f1f484d |
|
Persistent review updated to latest commit 9af0520 |
Module wiring: - Node.java: registered TieredDirectoryFactory, initialized TieredStoragePrefetchSettings, bound TierActionMetrics - IndicesService.java: added TieredStorageSearchSlowLog and StoredFieldsPrefetch as search listeners - ThreadPool.java: added remote_download thread pool executor Integration tests: - WarmIndexBasicIT: 4 tests covering warm index create/search/merge, block file verification, close/reopen, primary+replica Depends on opensearch-project#21332 (slow logs PR) Signed-off-by: Mayank Harsh <mayankmh@amazon.com>
|
Persistent review updated to latest commit b4ad170 |
|
❌ Gradle check result for b4ad170: 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? |
|
Persistent review updated to latest commit b4ad170 |
Description
Wires the remaining tiered storage components into the server and adds integration tests for warm index operations.
Module wiring:
Node.java: RegisteredTieredDirectoryFactoryas a composite directory factory, initializedTieredStoragePrefetchSettingsfrom cluster settings, and boundTierActionMetricsin Guice for migration metrics trackingIndicesService.java: AddedTieredStorageSearchSlowLogandStoredFieldsPrefetchas search operation listeners for each index, with prefetch settings supplier initialized from cluster settingsThreadPool.java: Addedremote_downloadscaling thread pool executor used byBlockTransferManagerfor async block downloads from remote storageAll wiring is gated behind
FeatureFlags.WRITABLE_WARM_INDEX_EXPERIMENTAL_FLAG.Integration tests (WarmIndexBasicIT):
testWritableWarm: Creates a warm index, ingests docs, searches, force merges, and verifies file cleanup from directory and file cachetestLocalDirectoryFilesAfterRefresh: Verifies that local directory only contains block files after refresh (no full files)testCloseIndex: Verifies data is preserved after close and reopen of a warm indextestWritableWarmPrimaryReplicaBoth: Verifies warm index operations with primary and replica shardsDepends on #21332
Related Issues
Resolves #21101
Check List
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.