Skip to content

fix(vector-store): fail remote connection tests on unreachable endpoints - #71

Merged
spelech merged 4 commits into
mainfrom
jules-3622095910500824187-5847cbe3
Oct 28, 2026
Merged

spelech merged 4 commits into
mainfrom
jules-3622095910500824187-5847cbe3

Conversation

@spelech

@spelech spelech commented Oct 27, 2026

Copy link
Copy Markdown
Owner

Fixes vector store remote connection testing and backend initialization so that unreachable remote Qdrant or Chroma endpoints fail connection tests instead of validating silent local disk fallbacks. Remote fallback is now strictly opt-in, and configured vs effective modes are tracked and reported separately.

Fixes #59


PR created automatically by Jules for task 3622095910500824187 started by @spelech

- Prevent automatic local fallback in Qdrant and Chroma vector stores when explicit remote targets fail, unless opt-in allow_fallback=True is passed.
- Report configured_mode, effective_mode, fallback_active, and fallback_reason in vector store stats, config, and health checks.
- Return explicit error messages on POST /admin/api/vector-store/test when remote Qdrant or Chroma endpoints cannot be reached.
- Add test coverage for remote connection failures and opt-in degraded fallbacks.

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
@google-labs-jules

Copy link
Copy Markdown
Contributor

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

- Prevent automatic local fallback in Qdrant and Chroma vector stores when explicit remote targets fail, unless opt-in allow_fallback=True is passed.
- Report configured_mode, effective_mode, fallback_active, and fallback_reason in vector store stats, config, and health checks.
- Return explicit error messages on POST /admin/api/vector-store/test when remote Qdrant or Chroma endpoints cannot be reached.
- Add test coverage for remote connection failures and opt-in degraded fallbacks.
- Ignore deprecation warnings for asyncio_default_fixture_loop_scope in pytest.ini.

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
@spelech

spelech commented Oct 28, 2026

Copy link
Copy Markdown
Owner Author

@jules Please review and address the following items for this PR:

Issues to Fix

  1. Strict Connection Probing Without Unintended Local Fallback:
    • In app/services/vector_store/manager.py:317, explicitly set "allow_fallback": False in test_config within test_vector_store_connection(). A test probe targeting an unreachable remote vector database must return connection failure rather than silently degrading to local storage.
  2. Requirement Traceability:
    • Tag vector store connection tests in tests/backend/test_api_vector_store.py with @pytest.mark.requirement("VS-REMOTE-TEST-01").
    • Update docs/REQUIREMENTS.md.

How to Confirm the Fix

Run the following commands to confirm everything passes:

pytest tests/backend/test_api_vector_store.py tests/backend/test_vector_store_chroma.py tests/backend/test_vector_store_qdrant.py -v
python3 scripts/generate_requirements.py
pytest tests/backend/test_requirements_sync.py

spelech and others added 2 commits October 28, 2026 01:56
- Prevent automatic local fallback in Qdrant and Chroma vector stores when explicit remote targets fail, unless opt-in allow_fallback=True is passed.
- Report configured_mode, effective_mode, fallback_active, and fallback_reason in vector store stats, config, and health checks.
- Return explicit error messages on POST /admin/api/vector-store/test when remote Qdrant or Chroma endpoints cannot be reached.
- Add test coverage for remote connection failures and opt-in degraded fallbacks.
- Configure pytest.ini asyncio_mode and filterwarnings to prevent deprecation warning failures.

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
@spelech
spelech merged commit 5b4ef0e into main Oct 28, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(vector-store): fail remote connection tests instead of validating local fallbacks

1 participant