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

apache / bookkeeper / 486
72%

Build:
DEFAULT BRANCH: master
Ran 20 Jun 2019 03:24PM UTC
Jobs 1
Files 535
Run time 42s
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
486

push

jenkins

GitHub
[DLOG] Delete empty inprogress segment on recovery

This addresses an issue, whereby if a user is using getLastTxId() to
find the first txnid when starting to write, they will continue to be
able to write if the last segment written by the previous writer was
empty. If the last segment was empty, then the maxTxId would be higher
than the result of getLastTxId(). maxTxId is read from a znode, while
getLastTxId() reads the txid of the last persisted record. In the case
of an empty inprogress segment, the maxTxId znode was being updated
with the expected first transaction id of the segment.

This patch addresses the issue with the following changes:
1. The maxTxId znode is only updated when inprogress segment is
   completed, so it's value always refers to a transaction that
   exists.
2. On recovery, if the inprogress segment is empty, delete it. There
   was a TODO comment to do this already there.
3. When generating the sequence number, allow a potential sequence
   number which is equal to the current max sequence number, as this
   can be the case where recovery deleted an inprogress empty segment.


Reviewers: Enrico Olivelli <eolivelli@gmail.com>, Sijie Guo <sijie@apache.org>

This closes #2099 from ivankelly/txnid-issue

27196 of 38127 relevant lines covered (71.33%)

0.71 hits per line

Jobs
ID Job ID Ran Files Coverage
1 486.1 20 Jun 2019 03:24PM UTC 0
71.33
Source Files on build 486
Detailed source file information is not available for this build.
  • Back to Repo
  • Jenkins Build #486
  • 533dd5d6 on github
  • Prev Build on master (#485)
  • Next Build on master (#487)
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