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

decentraland / snapshots-fetcher / 30057773496
96%

Build:
DEFAULT BRANCH: main
Ran 24 Jul 2026 01:01AM UTC
Jobs 1
Files 16
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 Jul 2026 01:00AM UTC coverage: 87.133% (+0.2%) from 86.982%
30057773496

push

github

web-flow
fix: serialize evictions and re-verify stored bytes before deleting (#204)

* fix: serialize evictions and re-verify stored bytes before deleting

closes the concurrent-cache-heal race noted on #203: two callers can read the
same corrupt local entity; the first eviction plus a retry re-downloads a good
copy, and the second (stale) caller would then delete that good copy based on
the old bytes it already read.

evictions now run under a per-entity lock and re-verify the bytes CURRENTLY in
storage immediately before deleting: a copy that was healed in the meantime is
kept, a copy already removed is not deleted twice, and a failed re-read keeps
the copy (deleting on stale evidence alone is not safe). the eviction metric
still counts only actual deletes, and each outcome is reflected in the thrown
entity-scoped error.

* test: race two overlapping downloads on the same corrupt entity

addresses the review note that the eviction-lock behavior was only exercised
through sequential retrieve() simulations. two real
downloadEntityAndContentFiles calls now overlap on one id: a barrier holds both
until each has read the corrupt copy, and the heal is planted inside the
winner's delete, which the per-entity lock orders strictly before the loser's
re-check. asserts exactly one eviction across both callers, one
removed-the-copy outcome plus one kept-the-healed-copy outcome, and the healed
copy surviving.

184 of 241 branches covered (76.35%)

Branch coverage included in aggregate %.

24 of 25 new or added lines in 1 file covered. (96.0%)

737 of 816 relevant lines covered (90.32%)

17.09 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
86.21
1.83% src/index.ts
Jobs
ID Job ID Ran Files Coverage
1 30057773496.1 24 Jul 2026 01:01AM UTC 16
87.13
GitHub Action Run
Source Files on build 30057773496
  • Tree
  • List 16
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30057773496
  • c5a7edb8 on github
  • Prev Build on main (#30056560905)
  • Next Build on main (#30489719569)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc