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

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

Build:
Build:
LAST BUILD BRANCH: v3.dev
DEFAULT BRANCH: master
Ran 15 Mar 2026 08:10PM 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

15 Mar 2026 08:00PM UTC coverage: 99.861% (-0.08%) from 99.937%
#5326

push

github

ben-manes
minor edge case handling

Avoid slight bias in the frequency sketch from sentinel keys. If the
access reordering is applied after the node was deleted, while other
operations no-op'd the popularity sketch would still increment for the
key. The key was replaced by a sentinel, so this inflates those hash
locations, which by collisions could inflate the popularity of another
entry.

Better timer wheel rollback on exception handling for the current
timestamp. In that case it would have simply forced a delayed full
sweep, so considered benign. More so, since the cache is not supposed
to throw any exceptions, it only acted as a failsafe in case of a bug
and therefore perfect handling was not necessary. Yet because code
walkthroughs keep flagging it, it's best to fix as the previous
approach was too subtle.

Previously, a failed computation could result in duplicate eviction
notifications. This occurred because the old entry was not removed
before the mapping function's / weigher's / Expiry's exception was
propagated. A repeatedly broken computation might notify the listener
multiple times until the entry was removed by the maintenance cycle.
As the listener is generally used for resource clean up, which is
usually idempotent, this double notification was likely fine. The
notification is still handled prior to running the mapping function to
ensure linearizability, e.g. removing a file prior to recreating it.

3847 of 3862 branches covered (99.61%)

65 of 70 new or added lines in 2 files covered. (92.86%)

1 existing line in 1 file now uncovered.

7903 of 7914 relevant lines covered (99.86%)

1.0 hits per line

Uncovered Changes

Lines Coverage ∆ File
5
99.73
-0.27% caffeine/src/main/java/com/github/benmanes/caffeine/cache/BoundedLocalCache.java

Coverage Regressions

Lines Coverage ∆ File
1
99.73
-0.27% caffeine/src/main/java/com/github/benmanes/caffeine/cache/BoundedLocalCache.java
Jobs
ID Job ID Ran Files Coverage
1 #5326.1 15 Mar 2026 08:10PM UTC 78
99.86
Source Files on build #5326
  • 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
  • c968f986 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