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

ben-manes / caffeine / 1626 / 1
100%
master: 100%

Build:
DEFAULT BRANCH: master
Ran 28 Feb 2016 11:45PM UTC
Files 64
Run time 2s
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

28 Feb 2016 10:55PM UTC coverage: 94.857% (-0.06%) from 94.918%
TERM=dumb

push

travis-ci

ben-manes
Fix async refresh from prematurely replacing the value

When a refresh-after-write is triggered the entry should be reloaded in
the background, the present value available for reads, and atomically
replaced when the new value has been loaded. This operation is atomic
with other writes to that entry and is blocking (rather than clobbering)
if another write is attempted.

This should work the same for synchronous and asynchronous caches, but
unfortunately it wasn't. For an asycn cache a new, incomplete future
was immediately put into the cache and to be consumed by the next
request. Due to layering, the custom reloadAsync was not called and
the operation delegated to load instead. This was of course wrong and
not the intended (or expected) behavior, so it is now fixed.

Thanks to Etienne Houle @ Stingray for notifying me of this problem.

5035 of 5308 relevant lines covered (94.86%)

0.95 hits per line

Source Files on job 1626.1 (TERM=dumb)
  • Tree
  • List 0
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 1626
  • Travis Job 1626.1
  • 7223a2a3 on github
  • Prev Job for TERM=dumb on master (#1625.1)
  • Next Job for TERM=dumb on master (#1627.1)
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