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

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

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

20 Jun 2019 03:24PM UTC coverage: 71.33% (-0.005%) from 71.335%
486.1

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

Source Files on job 486.1
  • Tree
  • List 0
  • Changed 16
  • Source Changed 0
  • Coverage Changed 16
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 486
  • 533dd5d6 on github
  • Prev Job for on master (#485.1)
  • Next Job for on master (#487.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