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

apache / bookkeeper / 181
72%

Build:
DEFAULT BRANCH: master
Ran 16 Aug 2018 03:28PM UTC
Jobs 1
Files 434
Run time 58s
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
181

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

7 of 7 new or added lines in 1 file covered. (100.0%)

24828 of 34330 relevant lines covered (72.32%)

0.72 hits per line

Jobs
ID Job ID Ran Files Coverage
1 181.1 16 Aug 2018 03:28PM UTC 0
72.32
Source Files on build 181
Detailed source file information is not available for this build.
  • Back to Repo
  • Jenkins Build #181
  • b0c04dff on github
  • Prev Build on master (#180)
  • Next Build on master (#182)
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