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

blevesearch / bleve / 28786286841
52%

Build:
DEFAULT BRANCH: master
Ran 06 Jul 2026 10:53AM UTC
Jobs 1
Files 429
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

06 Jul 2026 10:52AM UTC coverage: 52.2% (+0.04%) from 52.162%
28786286841

push

github

web-flow
MB-72716: Fix miscalculation of rollback points (#2370)

- We currently mark any bolt snapshot that is beyond the expiry window,
but within the retention window as `live` and pass it on to the time
series mechanism that will protect/retain the number of snapshots
configured in scorch - `NumSnapshotsToKeep`
- However when computing the extended boundary, we skip over the first
snapshot that was after the expiry window. We basically ignore it and
continue to track more snapshots up to the cutoff time determined by the
first expired snapshot's boundary checkpoint.Fixed this issue and added
a unit test.

```text
B                      L E                     T
+----------------------+-+---------------------+
|    Retention Window  + |    Expiry Window    |
+----------------------+-+---------------------+ ---> time


- N  = Number Of Snapshots to keep
- D  = Rollback Sampling Interval 
- R  = Rollback Retention Factor
- T  = Current timestamp
- C  = Current set of checkpoints
- E  = Expiry timestamp    = T - [(N - 1) * D]
- B  = Boundary Checkpoint = f(C, R, Lt)
- L  = First expired snapshot
- Lt = L's timestamp
- Nr = Number of snapshots in the retention window
- Ne = Number of snapshots in the expiry window

If (Nr >= N && Ne == 0 && Lt < E):
Then 
    persisted snapshots = [{Nr} - L}]
    protected snapshots ∩ L = ∅
```
- `rollbackRetentionFactor` config validation was broken and errored on
valid input instead of invalid. Corrected the condition and added a `0 ≤
r ≤ 1` bounds check.
- Retention settings weren't applied when loading existing snapshots on
open, because we opened boltDB before rollback settings were parsed from
config. This resulted in the first set of checkpoints to have a
timestamp of 0, due to which the rollback points used before the restart
were lost. Fixed this issue and added a unit test as well.
- Removed a redundant `closeCh` select after handing a persist off to
the introducer, the introducer always completes and closes applies t... (continued)

132 of 145 new or added lines in 3 files covered. (91.03%)

31 existing lines in 3 files now uncovered.

19733 of 37803 relevant lines covered (52.2%)

0.59 hits per line

Uncovered Changes

Lines Coverage ∆ File
10
65.23
-0.33% index/scorch/persister.go
3
54.61
2.45% index/scorch/scorch.go

Coverage Regressions

Lines Coverage ∆ File
12
79.38
-1.02% index/scorch/merge.go
10
54.61
2.45% index/scorch/scorch.go
9
65.23
-0.33% index/scorch/persister.go
Jobs
ID Job ID Ran Files Coverage
1 28786286841.1 06 Jul 2026 10:53AM UTC 429
52.2
GitHub Action Run
Source Files on build 28786286841
  • Tree
  • List 429
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • cb80aa24 on github
  • Prev Build on master (#28782061399)
  • Next Build on master (#28801234151)
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