Repository navigation
Lagrange 0.4.0 — 2026-10-31 (experimental / alpha).
Scenario A (tidb-oltp-baseline) deep-stack throughput and latency optimization,
distributed scale-out, provenance separation, longitudinal metrics evolution,
and unified 5-node and Scenario C summary benchmark release completing epics
scenario-a-deep-stack-throughput-and-latency and
distributed-scaleout-and-provenance-benchmark-series (Slices 1–5):
Formation health at cut time: formation health: 0/20 passed (0%), 0 with a starved seed.
Added
-
Scenario C in-partition
$O(1)$ micro-bucket feature rollups & epoch-watermarked lazy backfill (partition-feature-rollup-constants.js,partition-feature-rollup-store.js,epoch-lazy-feature-backfill.js,scenario-c-rollup-comparator.js):
Maintains synchronous per-entity decomposable micro-buckets (1 s/60 s) in$O(1)$ inside the partition leader apply path (584.2 dec/son 3-node and2420.0 dec/son 5-nodeRF=3across0 ms,100 ms, and1000 msSLAs with0.0%stale reads), evaluates multi-window sliding rollups (15m,30m) in$O(1)$ with0.0 sbackfill on decomposable window/weight changes, and performs epoch-watermarked lazy on-read cutover on hot entities plus bounded in-process background replay (0 BWAN traffic) for new raw attributes. -
Locking-read bound parameter propagation & split-PK tuple resolution (
sql-query-engine-select-execution.js,sql-locking-read-execution.js):
Propagates boundparamsandqueryOptionsintoexecuteLockingReadReservations,
merges equality-boundWHEREPK columns with projectedSELECTcolumns so both
full-PK-in-WHERE(SELECT quantity FROM stock ... FOR UPDATE) and split-PK
(SELECT order_id FROM new_order WHERE warehouse_id = ? AND district_id = ? FOR UPDATE)
locking reads resolve canonical PK tuples in memory with 0 extraSELECTRPCs,
and preservesorderBy,limit, andoffseton any fallback PK query. -
Coordinator participant-set deduplication & transient status skip (
distributed-transaction-participant-set.js,sql-query-engine-transaction-persistence-methods.js,distributed-transaction-telemetry.js):
Skips redundantpersistAdmittedParticipantSetgateway mutations when the
admittedparticipant_set_textis already persisted ontx.participantSetText
(tracked viaskippedParticipantSetMutations), and skips non-authoritative
pre-RPC participant status writes (PREPARING,COMMITTING,ROLLING_BACK)
while preservingACTIVE,PREPAREDevidence,COMMITTED,ROLLED_BACK,
andFAILED. -
Raft runtime proposal batching & durable batch telemetry (
raft-rs-runtime-owner.js,raft-rs-durable-store.js):
Coalesces concurrentproposecommands arriving while a Raft group turn is in
flight into a singledrainReadycycle and tracksbatchedEntryCountand
multiEntryReadyCountingetDurableSyncStats(). -
Canonical row-key extraction, disjoint-commit generation advancement &
$O(1)$ disjoint write staging (partition-participant-transaction-session.js,partition-participant-transaction-request.js,partition-participant-transaction-apply.js,partition-participant-transaction-staging.js):
Extracts canonical PK row keys fromINSERTcolumn lists andUPDATE/DELETE
WHEREclauses, advancessession.generationBaseatsealSessionwhen
intervening committed generations touched only disjoint row keys, cleans up
prepared participant row keys on rollback/refusal/expiry, and validates
disjoint-row staged writes directly in$O(1)$ (disjointDirectValidations). -
Distributed scale-out & provenance benchmark series (
#169–#173):
Scenario B measurement provenance audit and reclassification (local-oracle-plus-network-model/
contract-model-non-comparable) plus longitudinal Lagrange metrics evolution
(lagrange-metrics-evolution.{md,html,svg}, Slice 1); 3-to-5-nodeRF=3
partial replica-coverage (100%vs60%) scale-out and Scenario A three-mode
separation (scaleout-3to5-node-rf3-progress.{md,html,svg}, Slice 2); 5-node
RF=3partition granularity sweep acrossP=6, 15, 30, 60
(partition-granularity-sweep-progress.{md,html,svg}, Slice 3); Scenario B
network RTT crossover (0.2 msto30 ms) and working-set growth
(scenario-b-rtt-working-set-crossover.{md,html,svg}, Slice 4); and live
partition movement under load plus Scenario C5xjoint scaling and
operating-boundary map (movement-and-scenario-c-scaling-progress.{md,html,svg},
Slice 5). -
Unified 5-node (
RF=3) and Scenario C summary page statistics (0.3.3&0.4.0):
Added 5-nodeRF=3(lagrange-5node-rf3) and Scenario C (streaming-feature-risk-decision)
statistics, charts, and multi-system tables directly to the benchmark summary
landing page (docs/benchmarks/README.md,docs/benchmarks/index.html, and
docs/benchmarks/comparative-overview.svg).
Docker images (linux/amd64, distroless):
docker.io/psvensson/lagrange:0.4.0(Docker Hub)
Full history: CHANGELOG.md · process: RELEASE.md