• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

prisma-risk / tsoracle / 26354468438
95%

Build:
DEFAULT BRANCH: main
Ran 24 May 2026 06:57AM UTC
Jobs 1
Files 74
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

24 May 2026 06:52AM UTC coverage: 94.768% (+0.03%) from 94.736%
26354468438

push

github

web-flow
fix(client): evict failed-dial ChannelPool entries to bound the cache (#290)

#286 moved the per-endpoint `OnceCell` insert ahead of the parse/dial so
concurrent first-callers share one cell, but a failed dial then left an
uninitialized cell in the `channels` map forever. Wire-supplied leader
hints (`LeaderHint.leader_endpoint`) reach `ChannelPool::client` as
arbitrary endpoint strings, so a contacted peer returning a fresh
unparseable hint per request could grow the map without bound — an
unbounded memory-retention vector reachable from a compromised cluster
peer.

`client` now evicts the endpoint's entry on the dial-error path. The cell
is provably uninitialized on `Err` (a `OnceCell` only stores a value on a
successful init, and `get_or_try_init` runs the closure at most once
across all sharers), and an `Arc::ptr_eq` identity check ensures we only
drop our own dead cell — never a fresh cell a concurrent caller may have
re-inserted and begun dialing. Retry semantics are unchanged: the next
caller re-inserts a fresh cell and re-dials. Single-flight on the success
path is intact.

Adds two in-crate regression tests (retention is only observable via the
private `channels` map): distinct failing endpoints leave nothing behind,
and a successful dial stays cached and initialized.

51 of 52 new or added lines in 1 file covered. (98.08%)

10724 of 11316 relevant lines covered (94.77%)

552690.73 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
97.17
0.12% crates/tsoracle-client/src/leader_resolved.rs
Jobs
ID Job ID Ran Files Coverage
1 26354468438.1 24 May 2026 06:57AM UTC 74
94.77
GitHub Action Run
Source Files on build 26354468438
  • Tree
  • List 74
  • Changed 2
  • Source Changed 1
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26354468438
  • 72fa46a0 on github
  • Prev Build on main (#26354292646)
  • Next Build on main (#26354719091)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc