What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Bug fix
What is the current behavior? (You can also link to an open issue here)
Creating and deleting indexes are non-atomic processes in Marqo consisting of two steps:
Update the Vespa application package
Update Marqo index metadata in Vespa
A failure may put Marqo into an intermediate state where the target index can neither be deleted nor be created.
What is the new behavior (if this is a feature change)?
We don’t intend to add transaction management here, but in case of a failure, the user should be able to bring Marqo to a consistent state by repeating the call and getting a 200 response.
Tests are added to ensure Marqo can behave as mentioned above.
Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
no
Have unit tests been run against this PR? (Has there also been any additional testing?)
running
Related Python client changes (link commit/PR here)
no
Related documentation changes (link commit/PR here)
no
Other information:
no
Please check if the PR fulfills these requirements
[ ] The commit message follows our guidelines
[ ] Tests for the changes have been added (for bug fixes/features)
[ ] Docs have been added / updated (for bug fixes / features)
What kind of change does this PR introduce? (Bug fix, feature, docs update, ...) Bug fix
What is the current behavior? (You can also link to an open issue here) Creating and deleting indexes are non-atomic processes in Marqo consisting of two steps:
Update the Vespa application package
Update Marqo index metadata in Vespa A failure may put Marqo into an intermediate state where the target index can neither be deleted nor be created.
What is the new behavior (if this is a feature change)? We don’t intend to add transaction management here, but in case of a failure, the user should be able to bring Marqo to a consistent state by repeating the call and getting a 200 response.
Tests are added to ensure Marqo can behave as mentioned above.
Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?) no
Have unit tests been run against this PR? (Has there also been any additional testing?) running
Related Python client changes (link commit/PR here) no
Related documentation changes (link commit/PR here) no
Other information: no
Please check if the PR fulfills these requirements
[ ] The commit message follows our guidelines
[ ] Tests for the changes have been added (for bug fixes/features)
[ ] Docs have been added / updated (for bug fixes / features)