-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Enable must_exist parameter for update aliases API #11210
Conversation
Signed-off-by: Gao Binlong <[email protected]>
Compatibility status:Checks if related components are compatible with change a93447f Incompatible componentsSkipped componentsCompatible componentsCompatible components: [https://github.com/opensearch-project/asynchronous-search.git, https://github.com/opensearch-project/security-analytics.git, https://github.com/opensearch-project/observability.git, https://github.com/opensearch-project/reporting.git, https://github.com/opensearch-project/job-scheduler.git, https://github.com/opensearch-project/opensearch-oci-object-storage.git, https://github.com/opensearch-project/sql.git, https://github.com/opensearch-project/custom-codecs.git, https://github.com/opensearch-project/security.git, https://github.com/opensearch-project/common-utils.git, https://github.com/opensearch-project/ml-commons.git, https://github.com/opensearch-project/notifications.git, https://github.com/opensearch-project/anomaly-detection.git, https://github.com/opensearch-project/cross-cluster-replication.git, https://github.com/opensearch-project/index-management.git, https://github.com/opensearch-project/neural-search.git, https://github.com/opensearch-project/geospatial.git, https://github.com/opensearch-project/alerting.git, https://github.com/opensearch-project/k-nn.git, https://github.com/opensearch-project/performance-analyzer-rca.git, https://github.com/opensearch-project/performance-analyzer.git] |
❌ Gradle check result for 51d0b36: 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? |
❌ Gradle check result for 97f3ff0: 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? |
Signed-off-by: Gao Binlong <[email protected]>
❕ Gradle check result for 069675f: UNSTABLE
Please review all flaky tests that succeeded after retry and create an issue if one does not already exist to track the flaky failure. |
...c/src/main/resources/rest-api-spec/test/indices.update_aliases/40_remove_with_must_exist.yml
Show resolved
Hide resolved
Signed-off-by: Gao Binlong <[email protected]>
❕ Gradle check result for a93447f: UNSTABLE
Please review all flaky tests that succeeded after retry and create an issue if one does not already exist to track the flaky failure. |
testPrimaryRelocationWhileIndexing is a flaky test, there's an issue tracking it: #9191. |
The backport to
To backport manually, run these commands in your terminal: # Navigate to the root of your repository
cd $(git rev-parse --show-toplevel)
# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/OpenSearch/backport-2.x 2.x
# Navigate to the new working tree
pushd ../.worktrees/OpenSearch/backport-2.x
# Create a new branch
git switch --create backport/backport-11210-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 a1e4602b8dcd5676d1e7b410d86242d7a555d619
# Push it to GitHub
git push --set-upstream origin backport/backport-11210-to-2.x
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/OpenSearch/backport-2.x Then, create a pull request where the |
@gaobinlong could you please backport manually to |
…t#11210) * Enable must_exist parameter for update aliases API Signed-off-by: Gao Binlong <[email protected]> * modify changelog Signed-off-by: Gao Binlong <[email protected]> * Fix test failure Signed-off-by: Gao Binlong <[email protected]> * Fix test failure Signed-off-by: Gao Binlong <[email protected]> * Remove silently when all aliases are non-existing and must_exist is false Signed-off-by: Gao Binlong <[email protected]> * Modify some comments to run gradle check again Signed-off-by: Gao Binlong <[email protected]> * Add more yaml test Signed-off-by: Gao Binlong <[email protected]> --------- Signed-off-by: Gao Binlong <[email protected]> (cherry picked from commit a1e4602)
I've created a document issue yet, and the backport PR needs to be reviewed, thanks! |
…1210) (#11833) * Enable must_exist parameter for update aliases API (#11210) * Enable must_exist parameter for update aliases API Signed-off-by: Gao Binlong <[email protected]> * modify changelog Signed-off-by: Gao Binlong <[email protected]> * Fix test failure Signed-off-by: Gao Binlong <[email protected]> * Fix test failure Signed-off-by: Gao Binlong <[email protected]> * Remove silently when all aliases are non-existing and must_exist is false Signed-off-by: Gao Binlong <[email protected]> * Modify some comments to run gradle check again Signed-off-by: Gao Binlong <[email protected]> * Add more yaml test Signed-off-by: Gao Binlong <[email protected]> --------- Signed-off-by: Gao Binlong <[email protected]> (cherry picked from commit a1e4602) * Update supported version to 2.12.0 Signed-off-by: Gao Binlong <[email protected]> * Small change to rerun gradle check Signed-off-by: Gao Binlong <[email protected]> --------- Signed-off-by: Gao Binlong <[email protected]>
…t#11210) * Enable must_exist parameter for update aliases API Signed-off-by: Gao Binlong <[email protected]> * modify changelog Signed-off-by: Gao Binlong <[email protected]> * Fix test failure Signed-off-by: Gao Binlong <[email protected]> * Fix test failure Signed-off-by: Gao Binlong <[email protected]> * Remove silently when all aliases are non-existing and must_exist is false Signed-off-by: Gao Binlong <[email protected]> * Modify some comments to run gradle check again Signed-off-by: Gao Binlong <[email protected]> * Add more yaml test Signed-off-by: Gao Binlong <[email protected]> --------- Signed-off-by: Gao Binlong <[email protected]>
…t#11210) * Enable must_exist parameter for update aliases API Signed-off-by: Gao Binlong <[email protected]> * modify changelog Signed-off-by: Gao Binlong <[email protected]> * Fix test failure Signed-off-by: Gao Binlong <[email protected]> * Fix test failure Signed-off-by: Gao Binlong <[email protected]> * Remove silently when all aliases are non-existing and must_exist is false Signed-off-by: Gao Binlong <[email protected]> * Modify some comments to run gradle check again Signed-off-by: Gao Binlong <[email protected]> * Add more yaml test Signed-off-by: Gao Binlong <[email protected]> --------- Signed-off-by: Gao Binlong <[email protected]> Signed-off-by: Shivansh Arora <[email protected]>
Description
The parameter
must_exist
in update index aliases API exists in the code base but actually it doesn't work,IndicesAliasesRequest
doesn't parse the parameter. This PR enablesmust_exist
parameter and makes it work when removing aliases by update aliases API.Another finding is that delete alias API also use the same TransportAction with update aliases API, which is
TransportIndicesAliasesAction
, the current behavior is that if all of the specified aliases are non-existing, it will throw 404 withaliases_not_found_exception
, but if only some of the specified aliases are non-existing, it removes successfully, the non-existing aliases are ignored. So in order to make update aliases API consistent with the existing behavior and do not import breaking change, when all of the specified aliases are non-existing, no mattermust_exist
is true or false, we also throw 404 withaliases_not_found_exception
, just like this:Request:
Response:
must_exist
is true, deleting an non-existing alias will throw aliases_not_found_exceptionRelated Issues
#2949
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.