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

ben-manes / caffeine / #5419
100%

Build:
DEFAULT BRANCH: master
Ran 27 Apr 2026 10:55AM 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

27 Apr 2026 10:30AM UTC coverage: 100.0%. Remained the same
#5419

push

github

ben-manes
Fix JCache close/createCache races and recursive teardown

CacheProxy.close() called cacheManager.destroyCache(name) before setting
closed=true, so the manager's recursive cache.close() executed full
teardown (shutdownExecutor, tryClose for each user resource,
invalidateAll) twice. Set closed=true first so the recursion
short-circuits, and tolerate destroyCache throwing on a closed manager
so an orphan cache can still release its own resources.

CacheManagerImpl.close() had the same recursion via cacheProvider.close,
causing the caches.values() iteration to run twice. Set closed=true
before the provider call and clear the caches map explicitly (since
each cache's destroyCache now no-ops when the manager is closed).

CacheManagerImpl.createCache/getCache only checked requireNotClosed
before mutating caches, so a creator could insert after close iterated
caches.values() and leave behind an orphan that survived manager
shutdown. Serialize both with close() on the same lock.

3929 of 3936 branches covered (99.82%)

37 of 37 new or added lines in 2 files covered. (100.0%)

8024 of 8024 relevant lines covered (100.0%)

1.0 hits per line

Jobs
ID Job ID Ran Files Coverage
1 #5419.1 27 Apr 2026 10:55AM UTC 78
100.0
Source Files on build #5419
  • Tree
  • List 78
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • accc11cb 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