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

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

Build:
Build:
LAST BUILD BRANCH: v3.dev
DEFAULT BRANCH: master
Ran 12 Jul 2026 12:24AM 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

11 Jul 2026 11:04PM UTC coverage: 100.0% (+0.01%) from 99.988%
#5615

push

github

ben-manes
Copy read-through stores under store-by-value

Under store-by-value, LoadingCacheProxy.get/getAll stored the caller's
key and JCacheLoaderAdapter.load/loadAll/reload stored the loader's
value without copying, unlike every other store site. A mutable key
mutated after a read-through get corrupted the stored key, and a loader
that retained its returned value could later mutate the stored entry.
The RI copies both key and value, and Caffeine's own invoke path copies
the loaded value, so read-through was the outlier.

Copy the key at the proxy boundary and the value in the adapter before
wrapping it in Expirable. Create the copier once in the cache factory
and pass it into CacheProxy and the adapter instead of building it
twice.

4125 of 4134 branches covered (99.78%)

28 of 28 new or added lines in 4 files covered. (100.0%)

8401 of 8401 relevant lines covered (100.0%)

1.0 hits per line

Jobs
ID Job ID Ran Files Coverage
1 #5615.1 12 Jul 2026 12:25AM UTC 78
100.0
Source Files on build #5615
  • Tree
  • List 78
  • Changed 6
  • Source Changed 5
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • c3e02739 on github
  • Prev 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