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

apache / bookkeeper / 180 / 1
72%
master: 72%

Build:
DEFAULT BRANCH: master
Ran 15 Aug 2018 02:51PM UTC
Files 434
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

15 Aug 2018 02:51PM UTC coverage: 72.199% (-0.1%) from 72.321%
180.1

push

jenkins

Sijie Guo
Provide consistent locking mechanism in EntryLogManagerForEntryLogPerLedger

Descriptions of the changes in this PR:

Assumption: The lock stored alongside the EntryLog in this map is meant
to be used to ensure that no two threads can be writing to the same
ledger at the same time.

The above invariant can be violated if the EntryLogAndLockTuple
object is evicted from the cache while in a critical section nominally
protected by the contained lock.

The conditions required for this to happen would be pretty odd --
there needs to be a huge amount of cache churn during one of
the protected operations.

The fix for this issue is to allocate in the constructor a fixed array of locks and select
for each EntryLogAndLockTuple a lock from that array
deterministically by ledgerId such that the same ledgerId
will always get the same lock.

Author: cguttapalem <cguttapalem@salesforce.com>

Reviewers: Sijie Guo <sijie@apache.org>

This closes #1600 from reddycharan/elmlock

24786 of 34330 relevant lines covered (72.2%)

0.72 hits per line

Source Files on job 180.1
  • Tree
  • List 0
  • Changed 29
  • Source Changed 1
  • Coverage Changed 29
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 180
  • b0c04dff on github
  • Prev Job for on master (#179.1)
  • Next Job for on master (#181.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