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

ben-manes / caffeine / #3249
100%

Build:
DEFAULT BRANCH: master
Ran 06 Aug 2022 11:51PM UTC
Jobs 1
Files 77
Run time 3s
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
#3249

push

github-actions

ben-manes
Improve eviction when overflow or the weight is oversized (#745)

Previously an attempt to centralize evictions into one code path led to
a suboptimal approach (464bc19). This tried to move those entries into
the LRU position for early eviction, but was confusing and could too
aggressively evict something that is desirable to keep. We now follow
the following logic for exceptional cases,

- If the entry exceeds the cache's maximum weight, then it is evicted
  immediately.
- If the entry is in the window and exceeds the window's maximum weight,
  then move it to the LRU positiion for immediate promotion. Otherwise
  the window will be flushed anyways to eject this entry, so a promotion
  decision can be done earlier with less impact on other window entries.
- If the cache's weight exceeds the implementation's overflow limit
  (2^63 - 2^31), then trigger an eviction before processing other
  events. This avoids a weight (long) overflowing and becoming negative.

The hit rate impact for weighted traces ranged from -2% to +4%, so the
changes do not cause a significant regression and are within a noise
tolerance. These changes do not impact non-weighted workloads.

7337 of 7459 relevant lines covered (98.36%)

0.98 hits per line

Jobs
ID Job ID Ran Files Coverage
1 #3249.1 06 Aug 2022 11:51PM UTC 0
98.36
Source Files on build #3249
Detailed source file information is not available for this build.
  • Back to Repo
  • Build #3249
  • 25b7d17b 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