rename project to MultiforaDB
Prose and benchmark tables use MultiforaDB; the binary, the CLI usage line, the log-message prefix and the default database file use multiforadb. Two consequences worth noting: - build.zig.zon's fingerprint is derived from the package name, so it had to change with it (Zig refuses to build otherwise). A consumer pinning this package by fingerprint needs updating. - the default --db path is now multiforadb.log, and getCmdLineOpts reports it as dbpath. An existing mongo-lite.log has to be passed explicitly with --db. The e2e harness abbreviated the old name as ML_; that is now MFDB_, including the documented ML_BIN override (MFDB_BIN) and the scratch file names. MD_ (mongod) is untouched. compare-run.sh spawned the server by absolute path under a sandbox/mongo-lite directory that no longer exists; that block already runs from tests/e2e, so it uses a relative path now. The archived reports under tests/e2e/results/ keep the old name: they record what the old binary measured.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# End-to-end tests with the official MongoDB Node.js driver
|
||||
|
||||
These exercise mongo-lite from a real driver over TCP: full CRUD, query
|
||||
These exercise MultiforaDB from a real driver over TCP: full CRUD, query
|
||||
operators, aggregation, error codes, concurrent clients, crash recovery, and
|
||||
the whole lifecycle including server restarts.
|
||||
|
||||
@@ -18,7 +18,7 @@ Most suites expect a server running on port 27020:
|
||||
|
||||
```sh
|
||||
zig build
|
||||
zig-out/bin/mongo-lite --port 27020 --db /tmp/ml-e2e.log --ttl-sweep-secs 1 &
|
||||
zig-out/bin/multiforadb --port 27020 --db /tmp/mfdb-e2e.log --ttl-sweep-secs 1 &
|
||||
|
||||
node tests/e2e/e2e.js # CRUD + operators + aggregate + errors (29 checks)
|
||||
node tests/e2e/e2e2.js concurrent # 8 clients: 4 writers + 4 readers (2 checks)
|
||||
@@ -43,7 +43,7 @@ E2E6_PORT=27300 node tests/e2e/e2e6.js # different port if 27220 is taken
|
||||
|
||||
Rebuild with `zig build` after any change under `src/` before restarting the
|
||||
server: `zig build test` compiles the test binary only and leaves
|
||||
`zig-out/bin/mongo-lite` stale, so the suites keep running against the old
|
||||
`zig-out/bin/multiforadb` stale, so the suites keep running against the old
|
||||
rules and report failures that the source no longer explains.
|
||||
|
||||
`e2e2.js concurrent` is safe to repeat against a running server (it drops its
|
||||
@@ -92,9 +92,9 @@ Measured behavior (all documented in the top-level README):
|
||||
bash tests/e2e/compare-run.sh [size] [doc-size] # e.g. 1g 16k
|
||||
```
|
||||
|
||||
Starts mongod (`brew install mongodb-community`) on :27018 and mongo-lite
|
||||
Starts mongod (`brew install mongodb-community`) on :27018 and MultiforaDB
|
||||
on :27019, runs the same driver workload against each (durable writes:
|
||||
mongo-lite fsyncs per command, mongod runs with `j: true`), measures kill -9
|
||||
MultiforaDB fsyncs per command, mongod runs with `j: true`), measures kill -9
|
||||
reopen for both, and prints a side-by-side table. `compare.js` alone runs
|
||||
one side (see its `--help`-style header comment).
|
||||
|
||||
@@ -109,7 +109,7 @@ comparison (`concurrent.js`, N clients each doing sequential `insertOne`
|
||||
with `{w:1, j:true}` — the group-commit path under real contention), then
|
||||
writes a machine-readable, versioned report to
|
||||
`tests/e2e/results/bench-<timestamp>.txt` and prints a diff of the
|
||||
mongo-lite numbers against the previous run (`results/bench-latest.txt`).
|
||||
MultiforaDB numbers against the previous run (`results/bench-latest.txt`).
|
||||
The report has `[main]` / `[concurrency]` / `[meta]` sections with
|
||||
`name<TAB>value` rows; `bench-run.sh 1g 16k` reproduces the phase8 gate
|
||||
(see `results/phase8.txt`).
|
||||
|
||||
Reference in New Issue
Block a user