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

ben-manes / caffeine / #5655
100%
master: 100%

Build:
Build:
LAST BUILD BRANCH: v3.dev
DEFAULT BRANCH: master
Ran 19 Jul 2026 03:55AM UTC
Jobs 1
Files 78
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

19 Jul 2026 03:14AM UTC coverage: 100.0%. Remained the same
#5655

push

github

ben-manes
Keep a superseded refresh from discarding its successor

A refresh whose value or writeTime changed while in-flight takes the
completion reject branch, which set only preserveTimestamps. remap then
ran a by-key discardRefresh that removed a newer refresh's registration;
the successor completed un-owned and its freshly loaded value was
silently discarded, leaving the cache stale until the next
refresh-eligible read.

The refreshes map holds one future per key, so a by-key discard is safe
only for the owner. Set preserveRefresh = !owned on the reject branch of
all three completion paths (LocalLoadingCache.refresh,
LocalAsyncLoadingCache.tryComputeRefresh, BoundedLocalCache
.refreshIfNeeded), mirroring the already owner-scoped error path.

4165 of 4172 branches covered (99.83%)

6 of 6 new or added lines in 3 files covered. (100.0%)

8425 of 8425 relevant lines covered (100.0%)

1.0 hits per line

Jobs
ID Job ID Ran Files Coverage
1 #5655.1 19 Jul 2026 03:55AM UTC 78
100.0
Source Files on build #5655
  • Tree
  • List 78
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 7b8e9913 on github
  • Prev Build on v3.dev
  • Next Build on v3.dev
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