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

ben-manes / caffeine / #2641
100%

Build:
DEFAULT BRANCH: master
Ran 12 Sep 2021 01:06PM UTC
Jobs 1
Files 73
Run time 5s
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

pending completion
#2641

push

github-actions

ben-manes
Avoid notifying the removal listener for no-op replacements (fixes #593)

When a write operation replaces an entry's value with the same instance
then a removal notification should not be published. Otherwise the
listener may perform some cleanup work by incorrectly assuming that the
value is no longer in the cache. That may be a resource being closed. We
deviate from Guava in this regard which overlooked that case and our
semantics are documented in the migration guide.

Unfortunately there were cases when this suppression was not performed.
When the entry is refreshed or if using an async cache then some cases
might notify, while others would not. Note that an equal but different
instance will be notified on as suppression is identity based.

The additional tests uncovered a bug with the Map.entrySet()'s
contains(o) method for weak/soft values. This used object equality, but
should have used identity to be consistent for reference caching. This
behavior now matches Guava.

6312 of 6754 relevant lines covered (93.46%)

0.93 hits per line

Jobs
ID Job ID Ran Files Coverage
1 #2641.1 12 Sep 2021 01:06PM UTC 0
93.46
Source Files on build #2641
Detailed source file information is not available for this build.
  • Back to Repo
  • Build #2641
  • c42ab535 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