# NousResearch/hermes-agent · Read connection pool error handling and self-healing

## Open now

- 1 issue, 1 PR open on GitHub.
- #86518: state: read connection pool never invalidates broken connections (asymmetric with write-side _reconnect_after_notadb self-heal)
- PR #99618: fix(state): discard pooled read connections after DatabaseError

These items address how the state layer's read connection pool handles broken or errored connections, including discarding pooled connections after database errors and adding self-healing behavior analogous to the write-side reconnect logic.

## TL;DR

- 4 member(s): 1 open issue(s), 0 closed issue(s), 1 open PR(s), 0 merged PR(s), 2 PR(s) closed without merging.
- No fix has been merged to main; one or more PRs were attempted (see below).
- **Recommended:** review the prior/competing PR(s) below. A fix was attempted but not merged; your case may extend or revive that work.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `unresolved`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_SPANNING`): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
- Pairwise link density `0.50`: the share of member pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. `1.00` means every pair is linked.

## Open related issues

- #86518: state: read connection pool never invalidates broken connections (asymmetric with write-side _reconnect_after_notadb self-heal)

## Prior & competing PRs

- **#87018: fix(state): discard pooled read connections after DatabaseError**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#85255`
- **#87612: fix(state): WAL probe fallback, bare-SELECT locking, writable_schema finally, read-pool self-heal**. closed without merge
  - maintainer direction: category `uncategorized`; implication `needs_llm`
- **#99618: fix(state): discard pooled read connections after DatabaseError**. open
  - maintainer direction: category `uncategorized`; implication `needs_llm`
  - files: `hermes_state.py`, `tests/test_session_db_read_conn_pool.py`

## Fix status

- No merged fix on record.
- Subsystem: `agent`
