-
Notifications
You must be signed in to change notification settings - Fork 0
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
Switch searches to use vespa by default #205
Switch searches to use vespa by default #205
Conversation
a6f9f92
to
07ece8d
Compare
5ae5c3e
to
3166f93
Compare
Minimal change switchover to make it easy to switch back if needed, this just makes vespa the default over opensearch. The api can still query opensearch by setting `use_vespa` to False. We can delete the opensearch code when we're confident we won't need it as a fallback
This distinguishes opensearch tests by giving them their own pytest mark, it also adds a parameter to the api request to cause the endpoint to still use opensearch for these tests. Finally we rename the make task for opensearch specific tests
Adds test db setup, fixtures and commands to run vespa in ci
Some have been made obsolete, either overtime or because vespa handles something differently. But this adapts as many of the existing opensearch tests as possible to point at the vespa route instead
No longer needed as we store the slug in vespa
These tests are currently failing due to an issue in the Data access library. Removing them until the issue can be resolved
3166f93
to
2eb2b99
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi! Great to get this ticked off!
Left some none blocking comments. Just some thoughts and a pointer as to whether we need docstrings and return types etc.
I'm just holding off approving as this is such an important and large PR.
The question I'm thinking is "All these tests look very good and concise but how do we know we've tested everything we need to test prior to a switch" - does copying OS tests leave us exposed to anything vespa specific etc.?
And yes agreed we should very quickly try and find a way of dynamically pulling in the vespa schema
Thanks Mark! I've either followed up or ticketed your suggestions.
I'd say this gets us far enough to go live. It does provide a framework for adding more search tests in that we now have the basic setup in place. There is for sure plenty of room for improvement! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome work - lots of effort - much appreciated you did the heavy lifting on this 🙇
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Description
Makes vespa the primary search database and transfers opensearch tests over to run against vespa. This does not delete the opensearch tests or code as we're planning on keeping them around a bit longer while we build confidence in vespa.
Points to note:
Next steps:
Type of change
Please select the option(s) below that are most relevant:
How Has This Been Tested?
I rewrote as many opensearch tests as I could. Also months of iterating and manual testing
Reviewer Checklist