Visitar URL original
benchmarks: the pass-2 roster counts one engine version in its three spellings (#258) by tae898 · Pull Request #259 · humemai/arcadedb-embedded-python · GitHub
Skip to content

benchmarks: the pass-2 roster counts one engine version in its three spellings (#258) - #259

Merged
tae898 merged 1 commit into
mainfrom
issue/258-roster-version
Oct 7, 2026
Merged

tae898 merged 1 commit into
mainfrom
issue/258-roster-version

Conversation

@tae898

@tae898 tae898 commented Oct 7, 2026

Copy link
Copy Markdown

Fixes #258. The first dry run of make_2610_stages.py --rep-from 4 on mini's real rows ended with PROBLEM ... 3 engine versions and exit 1. The roster now strips the 'server:' prefix and the build suffix before counting, and ignores rows without a version (cells that died before the client read it). Two tests: one version in three spellings counts once, two real versions still count as two. Checked on the real rows: the dry run no longer reports the problem and still plans 13 h over 5 stages.

🤖 Generated with Claude Code

https://claude.ai/code/session_019u6hXdDf7Zmn5YwuAW42pd

…spellings, so a clean pin no longer fails the pin check (#258)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019u6hXdDf7Zmn5YwuAW42pd
@tae898
tae898 merged commit 5b59609 into main Oct 7, 2026
2 checks passed
@tae898
tae898 deleted the issue/258-roster-version branch October 7, 2026 11:31
tae898 added a commit that referenced this pull request Nov 7, 2026
…s, in a layer of its own (DECISIONS #258, #259)

OfficialSession (lean_http.py) against arcadedb-driver 0.4.0, read from the wheel (sha256 00fd23e3...):
- db handles are cached per (root, auth, timeout, database); srv.db() per call threw away the per-database URL cache that
  arcadedb-drivers PR #168 (our #108 finding) relies on.
- the per-call timeout was accepted and dropped (driver default: no timeout). The driver has no per-call timeout, only
  ArcadeDBServer(timeout=httpx.Timeout), so each distinct timeout gets a server of its own (the lanes use 30, 60, 300, 600). httpx timeouts
  surface as lean_http.Timeout, other transport errors as ConnectionError, as for LeanSession.
- command with limit goes through the driver (0.3.0 added it; present in 0.4.0).
- OFFICIAL_PIN is 0.4.0 and OfficialSession refuses any other installed version, so a stale image cannot run 0.2.0 under a 0.4.0 pin.

The image: the served ArcadeDB client cells ran in the shared dbbench:client. Moving arcadedb-driver in PKGS[client] would change that
build arg, rebuild the image under a new digest, and split every comparator's measured rows (the stage scripts run build_images.sh on every
stage). So PKGS[client] keeps 0.2.0 (commented) and the driver arrives in dbbench:client-arcadedb: Dockerfile.client-arcadedb, FROM
dbbench:client plus one pip layer of ARCADEDB_DRIVER_PKGS (driver, httpx, httpcore, h11, anyio, idna, certifi, attrs, typing-extensions,
websockets, all ==, PyPI latest of 2026-11-07). runner.py points every served arcadedb arm (client_server, name arcadedb*) at it; e4 and the
embedded arms keep dbbench:arcadedb. engine_pin.FLOATING_OK knows the name; make_2611_stages derives the target from BACKENDS.

Docs: pin strings 0.2.0 -> 0.4.0 in COMPARATORS.md, CAMPAIGN.md row 82, PROTOCOL.md (labelled: official for /query and /command, lean for
bulk loads and streams), the stamp in three tests and the publish fixture rows. COMPARATORS.md: the two stale 'newest stable' sentences
(pymongo, SurrealDB SDK) are replaced by a Client holds table (each lagging client, newer version and PyPI date, why held).

Tests (stubbed driver and httpx, no network, no docker): handle caching, timeout forwarding, limit path, timeout and transport errors, the
pin and the refusal, the registry swap, the build script text, one build of the layer under a fake docker.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
tae898 added a commit that referenced this pull request Nov 7, 2026
…lient each served row used (DECISIONS #256, #258, #259)

export_web: one global condition, generated from engine_commit_equiv.json when a printed row carries server_engine_commit_equiv (release pair, both commits, file and line counts from the registry; a row claiming an equivalence the registry does not hold refuses the export). The served-client sentence now says the official driver is the headline for query and command statements, that bulk loads, the probe, transactions and streams stay on the lean client in the headline rows too, and names the lean and PostgreSQL wire twins only from their rows. Only the page generator, its new test and PAGE-SPEC.md change: nothing the runner measures.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

benchmarks: the pass-2 generator refuses a clean pin because the roster counts '26.10.1', 'server:26.10.1 (build ...)' and None as three engine versions

1 participant