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

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

Build:
Build:
LAST BUILD BRANCH: v3.dev
DEFAULT BRANCH: master
Ran 28 May 2025 09:22AM 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

28 May 2025 08:49AM UTC coverage: 99.948% (+0.04%) from 99.909%
#4879

push

github

ben-manes
fix async cache's synchronous computeIfAbsent to retry if incomplete

AsyncCache provides a non-linearizable, atomic computeIfAbsent in the
synchronous view. This avoids long hold times of the Map's hashbin lock
by waiting on the pending future outside of the computation, inserting
its own if absent or the pior future holds a null value (thus pending
automatic removal). This retry loop attempt fails if the compute finds
an incomplete future, but previously it could replace that in a narrow
race condition due to a mistaken conditional. This case was caught when
adding test coverage for the putIfAbsent and computeIfAbsent retry
loops when this edge case occurs.

2 of 2 new or added lines in 1 file covered. (100.0%)

7730 of 7734 relevant lines covered (99.95%)

1.0 hits per line

Jobs
ID Job ID Ran Files Coverage
1 #4879.1 28 May 2025 09:22AM UTC 78
99.95
Source Files on build #4879
  • Tree
  • List 78
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #4879
  • d44264a3 on github
  • Prev Build on v3.dev
  • Next Build on v3.dev
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