opensearch-project / cross-cluster-replication

Synchronize your data across multiple clusters for lower latencies and higher availability
https://opensearch.org/docs/latest/replication-plugin/index/
Apache License 2.0
47 stars 57 forks source link

Added validations for indexPattern in autofollow API #1373

Closed skumarp7 closed 1 month ago

skumarp7 commented 4 months ago

Description

Opening a new PR since old PR got closed by mistake.

This PR adds validations for the indexPattern configured in autofollow API

Existing behavior of the autofollow API with invalid indexPattern:

  curl -Method POST -Uri "http://localhost:9201/_plugins/_replication/_autofollow?pretty"  -H @{'Content-Typ
e' = 'application/json'} -body '{"leader_alias":"leader", "name": "test", "pattern": "test/abcd"}'                   

StatusCode        : 200
StatusDescription : OK
Content           : {
                      "acknowledged" : true
                    }

Behaviour after adding validations on indexPattern:

curl -Method POST -Uri "http://localhost:9201/_plugins/_replication/_autofollow?pretty"  -H @{'Content-Typ
e' = 'application/json'} -body '{"leader_alias":"leader_sanjay", "name": "test", "pattern": "test/adfas"}'

curl : { "error" : { "root_cause" : [ { "type" : "action_request_validation_exception", "reason" : "Validation Failed: 1: Autofollow pattern: 
test/adfas must not contain the following characters [ , \", *, \\, <, |, ,, >, /, ?];" } ], "type" : "action_request_validation_exception", 
"reason" : "Validation Failed: 1: Autofollow pattern: test/adfas must not contain the following characters [ , \", *, \\, <, |, ,, >, /, ?];" },    
"status" : 400 }

Issues Resolved

https://github.com/opensearch-project/cross-cluster-replication/issues/1034

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.

skumarp7 commented 4 months ago

Hi @monusingh-1

Can you help me here with the test failures? i dont see any test failures in my local

monusingh-1 commented 3 months ago

Restarted failed workflow

skumarp7 commented 3 months ago

Hi @monusingh-1 @ankitkala ,

Any update on this PR?

skumarp7 commented 1 month ago

Hi @ankitkala & @monusingh-1 ,

I tried spending some time on the failures on this PR. I had run the same failing tests in my local with security enabled, i couldnt reproduce the failed tests in the CI. Can we try to retrigger the tests ?

ankitkala commented 1 month ago

Hi @ankitkala & @monusingh-1 ,

I tried spending some time on the failures on this PR. I had run the same failing tests in my local with security enabled, i couldnt reproduce the failed tests in the CI. Can we try to retrigger the tests ?

Somehow i'm not getting an option to restart the workflow. Can you push an empty commit on your branch, that should trigger the tests.

skumarp7 commented 1 month ago

Hi @ankitkala & @monusingh-1 , I tried spending some time on the failures on this PR. I had run the same failing tests in my local with security enabled, i couldnt reproduce the failed tests in the CI. Can we try to retrigger the tests ?

Somehow i'm not getting an option to restart the workflow. Can you push an empty commit on your branch, that should trigger the tests.

done

opensearch-trigger-bot[bot] commented 1 month ago

The backport to 2.x failed:

The process '/usr/bin/git' failed with exit code 1

To backport manually, run these commands in your terminal:

# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-2.x 2.x
# Navigate to the new working tree
cd .worktrees/backport-2.x
# Create a new branch
git switch --create backport/backport-1373-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 6022720794ec37f7770d36d7a9909b61ecc056c6
# Push it to GitHub
git push --set-upstream origin backport/backport-1373-to-2.x
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-2.x

Then, create a pull request where the base branch is 2.x and the compare/head branch is backport/backport-1373-to-2.x.