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

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

Build:
Build:
LAST BUILD BRANCH: v3.dev
DEFAULT BRANCH: master
Ran 09 Jun 2026 06:47AM 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

09 Jun 2026 02:16AM UTC coverage: 100.0%. Remained the same
#5512

push

github

ben-manes
Fix self-suppression, a Pacer read race, and async getIfPresent stats

Three latent issues surfaced by the audit-temporal-walk history audit:

* Pacer.isScheduled() read the non-volatile `future` field twice, so a
  concurrent maintenance cycle nulling it (Pacer.cancel) between the two
  reads could throw a NullPointerException out of the lock-free cleanUp()
  fast path. Snapshot the field into a local.

* AsyncBulkCompleter.fillProxies/addNewEntries aggregated per-entry
  weigher/expiry failures with an unguarded error.addSuppressed(t). A
  weigher or expiry that throws the same instance on more than one entry
  of a bulk async load made the second call error.addSuppressed(error),
  which Throwable rejects with IllegalArgumentException -- masking the real
  failure and leaking the proxy futures left unvisited. Guard with
  `error != t`, matching the JDK try-with-resources idiom; the same guard
  is applied to CacheProxy.tryClose.

* The async synchronous view's getIfPresent recorded a hit for an in-flight
  future while returning null. Record a miss instead, consistent with
  getAllPresent and the "in-flight is logically absent for queries" model.

4040 of 4048 branches covered (99.8%)

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

8227 of 8227 relevant lines covered (100.0%)

1.0 hits per line

Jobs
ID Job ID Ran Files Coverage
1 #5512.1 09 Jun 2026 06:47AM UTC 78
100.0
Source Files on build #5512
  • 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
  • 80b9a4b5 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