Skip to content

[BUG] Health Check endpoint exposes incorrect overall system status when ChromaDB is unavailable #630

Description

@sujitha-kotyada

Description of the Bug

The /health endpoint calculates an overall health status using both database health and ChromaDB health.

Although the endpoint correctly computes an overall status value, the returned JSON response mistakenly exposes db_status as the primary status field instead of the computed overall status.

As a result, if ChromaDB is down but the SQL database is healthy, the endpoint still returns a healthy status, causing monitoring systems to incorrectly assume the application is fully operational.

Steps to Reproduce

  1. Start the application normally.
  2. Stop or disconnect ChromaDB.
  3. Send a request to GET /health.
  4. Observe the response.

The primary status incorrectly reports the service as healthy.

Expected Behavior

The endpoint should return the computed overall status.

When either the database or ChromaDB is unavailable, the top-level status should indicate a degraded state rather than reporting the application as fully healthy.

Screenshots / Logs

No response

Environment

OS: Windows 11 Browser: Chrome Backend: FastAPI Vector Database: ChromaDB Database: SQLite/PostgreSQL

GSSoC '26

  • Yes, I am participating in GirlScript Summer of Code and would like to fix this.

Metadata

Metadata

Assignees

Labels

bugSomething isn't workinggssocGirlScript Summer of Code 2026 issue/PR

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions