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

Open
#3,764 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

integration:vespa P2
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 httpr pin from integrations/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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.