deepset-ai / deepset-ai/haystack-core-integrations
Remove the httpr<0.5.2 pin in the Vespa integration once pyvespa releases the raise_for_status fix
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 203
- Forks
- 332
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 80
Description
integrations/vespa/pyproject.toml pins httpr>=0.4.0,<0.5.2 as a workaround. httpr is a transitive dependency of pyvespa; 0.5.2 added Response.raise_for_status, which makes pyvespa's raise_for_status() take its requests/httpx branch and let the resulting httpr.HTTPStatusError escape uncaught. The effect is that raise_on_not_found=False no longer suppresses 404s, so VespaDocumentStore.write_documents() raises for every new document and get_documents_by_id() raises instead of skipping missing ids.
Fixed upstream in unreleased as of pyvespa 1.2.4.
When a pyvespa release containing vespa-engine/pyvespa#1330 is out:
- drop the
httprpin fromintegrations/vespa/pyproject.toml(including the explanatory comment) - raise the floor to that pyvespa version (currently
pyvespa>=0.58.0) - run the integration tests against a real Vespa to confirm 404 handling, since the failure only shows up there
- release a patch version of
vespa-haystack
Context: PR #3761
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
After a pyvespa release containing vespa-engine/pyvespa#1330, start in integrations/vespa/pyproject.toml and review the httpr workaround and pyvespa version constraint. Run the Vespa integration tests against a real Vespa to confirm 404 handling, then release a patch version of vespa-haystack.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- search
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 55/100