This release includes breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+12 more
Summary
AI summaryFixed extract_ops_since functions now correctly filter the oplog when only one watermark is provided.
Full changelog
Bugfix release closing yantrikos/yantrikdb-server#13 (filed by @mbseid).
Fixed
extract_ops_since(since_op_id=X) and extract_ops_since(since_hlc=Y) now each independently filter the oplog. Before this release, only the two-arg (Some(hlc), Some(op_id)) path filtered; both single-watermark calls fell into the catch-all _ arm and silently returned the full oplog from the start.
The match expression in crates/yantrikdb-core/src/distributed/replication.rs:55 now handles all four cursor shapes:
| (since_hlc, since_op_id) | Behaviour |
|---|---|
| (Some, Some) | Compound cursor: hlc > ?1 OR (hlc = ?1 AND op_id > ?2) |
| (Some, None) | Strict HLC boundary: hlc > ?1 |
| (None, Some) | Subquery resolves the op's hlc, then applies the compound cursor (loss-free with op_id ties) |
| (None, None) | No cursor, full scan |
@mbseid's reproduction script is now an in-tree regression test (test_extract_ops_since_single_watermark).
Impact
- Replication / sync code paths that pass only one watermark now receive the correct delta instead of the full oplog. Prevents silent over-fetch and bandwidth waste; could have masked replica divergence.
- Documented cursor semantics in the docstring so callers know which combination to pass.
Not a breaking change
Single-watermark callers were already getting incorrect (over-broad) results. Now they get correct (filtered) results.
PR: yantrikos/yantrikdb#4
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About YantrikDB
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]