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

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

Build:
Build:
LAST BUILD BRANCH: v3.dev
DEFAULT BRANCH: master
Ran 22 Apr 2026 06:35AM 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

22 Apr 2026 05:55AM UTC coverage: 100.0%. Remained the same
#5402

push

github

ben-manes
Record eviction stats before notifying the removal listener consistently

The eviction-recording paths were split between two orderings:
- record-then-notify: evictEntry, doComputeIfAbsent's compute lambda, remap
- notify-then-record: removeNode, put-on-expired/collected,
  remove(key), remove(key, value)

For an executor(Runnable::run) cache with a synchronous RemovalListener that
reads cache.stats(), the same logical eviction event would surface with
evictionCount already incremented at some sites and not yet at others. Not
a documented contract — stats observability inside a listener isn't
guaranteed — but the asymmetry is gratuitous and was caught by review.

Flip the four notify-then-record sites to record-then-notify so every
eviction-recording path uses the same order. Also drop a stray double space
in refreshIfNeeded's containsKey call.

3921 of 3928 branches covered (99.82%)

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

8014 of 8014 relevant lines covered (100.0%)

1.0 hits per line

Jobs
ID Job ID Ran Files Coverage
1 #5402.1 22 Apr 2026 06:35AM UTC 78
100.0
Source Files on build #5402
  • Tree
  • List 78
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 94ad0ff8 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