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

ben-manes / caffeine
100%

Build:
DEFAULT BRANCH: master
Repo Added 15 Dec 2014 11:20PM UTC
Files 78
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

LAST BUILD ON BRANCH master
branch: master
CHANGE BRANCH
x
Reset
  • master
  • 05a040c2478341bab8a58a02b3dc1fe14d626d72
  • 2.5.6
  • Gil
  • adaptive
  • async-loader
  • ben/issue30
  • ben/spacing
  • buffer
  • cache2k
  • clockpro
  • codeql
  • dependabot/github_actions/JetBrains/qodana-action-2023.1.4
  • dependabot/github_actions/JetBrains/qodana-action-61b94e7e3a716dcb9e2030cfd79cd46149d56c26
  • dependabot/github_actions/codecov/codecov-action-3.1.3
  • dependabot/github_actions/github/codeql-action-2.3.4
  • dependabot/gradle/com.gradle.common-custom-user-data-gradle-plugin-1.9
  • dependabot/gradle/com.gradle.enterprise-3.14
  • dependabot/gradle/de.thetaphi-forbiddenapis-3.6
  • dependabot/gradle/pmd-7.0.0-rc4
  • expiring_map
  • expiry
  • gil
  • gilga
  • gradient
  • guava
  • jctools
  • juherr
  • memory
  • orm
  • penalties
  • solr
  • testng
  • tmp
  • travis
  • v1.0
  • v1.0.1
  • v1.1.0
  • v1.2.0
  • v1.3.0
  • v1.3.1
  • v1.3.2
  • v1.3.3
  • v2.0.0
  • v2.0.1
  • v2.0.2
  • v2.0.3
  • v2.1.0
  • v2.2.0
  • v2.2.2
  • v2.2.4
  • v2.3.2
  • v2.3.4
  • v2.5.2
  • v2.5.3
  • v2.5.4
  • v2.5.5
  • v2.6.1
  • v2.7.0
  • v2.8.0
  • v2.8.1
  • v2.8.2
  • v2.8.3
  • v2.8.4
  • v2.8.5
  • v2.dev
  • v3.0.5
  • v3.0.6
  • v3.1.0
  • v3.1.1
  • v3.1.2
  • v3.1.4
  • v3.1.5
  • v3.1.6
  • v3.1.7
  • v3.1.8
  • v3.dev

11 Jul 2026 11:04PM UTC coverage: 100.0%. Remained the same
#5616

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

Relevant lines Covered
Build:
Build:
8401 RELEVANT LINES 8401 COVERED LINES
1.0 HITS PER LINE
Source Files on master
  • Tree
  • List 78
  • Changed 10
  • Source Changed 10
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
#5616 master 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 mutab... push 12 Jul 2026 01:13AM UTC ben-manes github
100.0
#5611 master flush the console report writer instead of closing System.out (#1990) * flush the console report writer instead of closing System.out * println before flushing the console writer on close push 11 Jul 2026 05:48AM UTC web-flow github
100.0
#5607 master stroke every policy line in the simulate chart (#1989) push 08 Jul 2026 04:52PM UTC web-flow github
100.0
#5606 master Fix review findings: examples, guava, simulator - write-behind-rxjava: run the coalescer inside the subscribe try/catch and add an onError backstop so a throwing coalescer drops its batch instead of silently tearing down the stream - coalesci... push 07 Jul 2026 07:03PM UTC ben-manes github
100.0
#5604 master size the simulate chart y-axis to the plotted metric (#1988) push 07 Jul 2026 06:26PM UTC web-flow github
100.0
#5602 master Fill branch-coverage gaps from the audit changes The recent audit fixes left a few uncovered branches (StripedBuffer's spin lock aside): - Remove the dead recordMiss parameter from handleCompletion. The last caller passing true became false wh... push 07 Jul 2026 09:24AM UTC ben-manes github
100.0
#5601 master Fill branch-coverage gaps from the audit changes The recent audit fixes left a few uncovered branches (StripedBuffer's spin lock aside): - Remove the dead recordMiss parameter from handleCompletion. The last caller passing true became false wh... push 07 Jul 2026 08:56AM UTC ben-manes github
100.0
#5593 master upgrade errorprone push 05 Jul 2026 09:12PM UTC ben-manes github
99.89
#5586 master Fix equals-receiver reversal in asMap read views UnboundedLocalCache.EntrySetView.contains and the async sync-view's EntrySet.contains and Values.remove invoked the cached value's equals rather than the caller's, diverging from ConcurrentHashMap ... push 05 Jul 2026 02:00AM UTC ben-manes github
99.9
#5582 master Handle duplicate keys in CoalescingBulkLoader Two loads of the same key in one batch made Collectors.toMap throw IllegalStateException, and the hookless subscribe let onError cancel the subscription — bricking the loader so every later load hung.... push 04 Jul 2026 07:28PM UTC ben-manes github
99.9
See All Builds (4639)
  • Repo on GitHub
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