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

ben-manes / caffeine / #5533
100%

Build:
DEFAULT BRANCH: master
Ran 21 Jun 2026 08:55PM 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

21 Jun 2026 08:32PM UTC coverage: 100.0% (+0.01%) from 99.988%
#5533

push

github

ben-manes
avoid over-aggressive refresh discard (fixes #1970)

The low bit of an entry's write time is the refresh soft-lock marker.
A reader probing for a refresh sets it transiently (and starts no
load), but the completion's `getWriteTime() == writeTime` ABA check
mistook that marker for a concurrent write and discarded the freshly
completed reload.

Compare the base write time (masking the marker bit) in the completion,
and keep the refresh token registered across the value swap so the
compute machinery's discardRefresh clears it only after setWriteTime,
closing the remove-then-refresh stampede window. Re-validate the
soft-lock inside the entry's computeIfAbsent so a delayed reader aborts
instead of submitting a duplicate, stale reload. Apply the same
hold-token change to the explicit LocalLoadingCache.refresh and
LocalAsyncLoadingCache.tryComputeRefresh completions.

Cover the discard and the stampede with deterministic Fray and Lincheck
(runConcurrentTest) regressions and @CacheSpec token-cleared tests,
alongside the reporter's stress test.

4048 of 4054 branches covered (99.85%)

25 of 25 new or added lines in 5 files covered. (100.0%)

8239 of 8239 relevant lines covered (100.0%)

1.0 hits per line

Jobs
ID Job ID Ran Files Coverage
1 #5533.1 21 Jun 2026 08:55PM UTC 78
100.0
Source Files on build #5533
  • Tree
  • List 78
  • Changed 5
  • Source Changed 5
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • f1ab93a8 on github
  • Prev Build on master
  • Next Build on master
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