MatrixOne-v4.2.1
Release date: August 26, 2026
MatrixOne version: v4.2.1
MatrixOne 4.2.1 is a feature and reliability update on top of 4.2.0. It adds DATASTREAM external tables and improves query correctness, memory ownership, distributed retry bounds, and lockservice recovery behavior.
Key Improvements
External Data
- DATASTREAM External Tables: Add
ENGINE = DATASTREAMexternal tables backed by a streaming gRPC data-load bridge, with conservative filter pushdown, optional API-key authentication, and a reference server.
Memory Diagnostics
- On-Heap MPool Visibility: Expose live Go-heap-backed MPool bytes and objects through global metrics and per-pool diagnostics while preserving explicit ownership and teardown semantics.
Key Bug Fixes
Query Correctness & Resource Management
- Preserve every nested primary-key
ORbranch so large parameterizedINqueries do not silently lose requested rows. - Release query-result metadata batches after serialization and clean partially constructed batches on append failures.
- Apply deterministic SQL ordering for floating-point NaNs across full sort, Top, MergeTop, MergeOrder, and window paths.
Distributed Reliability
- Bound stale pipeline backend admission and connection retries by the configured per-connect timeout.
- Avoid the lock inversion between unknown-commit cleanup and stale-bind fencing that could block subsequent lock requests.
What's Changed
- feat: datastream external table (ENGINE = DATASTREAM) by @fengttt in #27479
- fix(frontend): release query result metadata batch by @aunjgr in #27499
- fix(mpool): make on-heap ownership observable by @aunjgr in #27498
- fix(readutil): preserve nested PK OR branches by @gouhongshen in #27502
- fix(frontend): clean partial query result metadata batch by @aunjgr in #27500
- fix(top): order floating NaNs deterministically by @aunjgr in #27532
- fix(cnservice): bound stale pipeline backend retries by @XuPeng-SH in #27555
- fix(lockservice): avoid bind fence cleanup deadlock by @LeftHandCold in #27569
Full Changelog: v4.2.0...v4.2.1