Skip to content

v1.0.0-alpha.1

Pre-release
Pre-release

Choose a tag to compare

@feichai0017 feichai0017 released this 08 Jun 02:41
cee155a

NoKV is now a single-node, agent-native copy-on-write filesystem"git for live, large, derived state." This first alpha consolidates the pivot from a distributed KV/DFS into a focused CoW workspace runtime for AI agents and ML pipelines.

Where git versions small text at dev time, NoKV gives snapshot / clone / diff / rollback over live filesystem namespaces (code + data + model weights) at runtime speed — O(metadata), not O(data) — and at scale.

Highlights

Copy-on-write workspace operations

  • snapshot — zero-copy MVCC version pin of a subtree (read-only, GC-protected).
  • clone — writable fork; shares object blocks zero-copy (same generation → same object keys); diverges on write (CoW); O(metadata). Spin up 100 agent workspaces off one base; each writes its own delta over shared blocks.
  • diffAdded / Removed / Modified between two subtrees; unchanged shared files are skipped.
  • rollback — revert a workspace to a prior snapshot via clone-from-snapshot + atomic graft (keeps inode identity); discarded delta becomes GC-reclaimable, restored blocks survive.
  • CLI: nokv clone, nokv diff (snapshot / rollback exposed at the service/RPC layer).

See docs/cow-workspaces.md.

Architecture

  • Single-node metadata engine (Holt 0.5.4) — local hot path, no quorum, no Redis/TiKV round-trip.
  • Object data on S3-compatible storage (RustFS / S3 via OpenDAL); 4 MiB block / 64 MiB chunk.
  • Structural zero-copy object layout: blocks/{mount}/{inode}/{generation}/{chunk}/{block} — forks share blocks by construction.
  • Durability ordering: object-first, metadata-atomic-after → a crash leaves GC-able orphan objects, never a dangling pointer.
  • The distributed/Raft metadata layer was removed in favor of a focused single-writer-owner model (read-only snapshots are shared by many readers).

Correctness & performance

  • Write path: ~213 MiB/s sequential (release build), durable — close drains to S3.
  • Six write-path correctness bugs root-caused and fixed (overlapping staged blocks from FUSE re-dispatch, manifest bloat past the metadata value limit, silent zero-fill on getattr, stale dentry CAS on mid-write setattr, body-wipe after chmod, xattr rejection).
  • GC safety — the owns_block_object_key invariant: an inode reclaims only blocks it minted; retained snapshot pins protect still-shared base blocks.
  • 322 tests passing; clippy -D warnings clean.

Scope & boundaries

  • Single-node: one writer-owner per workspace; many readers share snapshots.
  • POSIX via FUSE (Unix-only).
  • Not yet in this alpha: cloud sharding + owner leases, derivation lineage, branch/merge, a FUSE control surface for clone.

Distribution

GitHub release only — not published to crates.io. No crate version was changed.