Skip to content

Split PostgreSQL native execution tests across existing parity shards #1043

Closed

Description

@rmcdaniel

PostgreSQL native execution is now the Shared Server fixtures critical path. On #1039's original successful queue run 42117403315, postgres-storage (existing-php-matrix, native-tests) took 19m58s (22:02:09–22:22:07 UTC). Its native bootstrap/test step took 18m40s. PostgreSQL 17's native job took 18m01s. The required aggregate waited for the former.

The current-run PostgreSQL 16.15 artifact 13457914885 is independently authenticated: ZIP SHA-256 fa9f5f2b20ed05f2d9ae8fcff9e89809a1f9f63e6f04987ee35e55d618bd0281. It reports 727 execution tests passed / one existing ignored / 843.73s, plus all 19 PostgreSQL qualification tests passing. Source is accepted 0166afb225c75feb8f67d2d8963e49183550763c. These are baseline observations, not a promised speedup.

Server will apply the existing MySQL/MariaDB two-way execution split to both PostgreSQL families. Preserve each backend/version, qualification/TLS suite, full discovered test list, disjoint exhaustive selections and full reports. Keep the qualification suite on the first shard and execute each actual test once across the pair. Retain current compiler/dependency/cache trust, job bounds, resources and other corpus/cohort cells. No new scheduler, reduced coverage, broader retries or runtime/production operation is needed.

Acceptance: existing selection/aggregate/isolation/report controls pass; shell selection refuses missing/overlapping coverage; ordinary current-head backend artifacts prove the union equals the complete discovery list, every selected case has a terminal result, and both halves pass. Compare actual job/workflow time against the equivalent unsharded source baseline before claiming improvement. #1042's parser CI stays the current source train; this CI-only follow-up is prepared separately before more product PRs.

This follows completed MariaDB sharding #1041. Closed #871 addressed redundant build/cache inputs, a different bottleneck. Server owns implementation, normal source qualification and actual-main follow-through.

Activity

  1. rmcdaniel commented on Nov 5, 2026

    @rmcdaniel
    MemberAuthor

    The CI-only follow-up is concrete at d799ffcbca463b4dfa94307e194fe3d0723ed652 / tree 63a516b0ce2fdd25c6846ae6e2f7974fb2de97a4, based on accepted 0166afb2, on the normal WIP branch wip/server/1043-postgres-shards-20261105. There is no second product PR or manually dispatched backend run.

    The three-file delta applies the existing MySQL/MariaDB listed, bytewise-sorted, two-way selection to both PostgreSQL labels. The first part retains the original 19-test qualification suite and TLS checks. Each execution half uses the unchanged compiler/dependency/cache trust and per-job CPU/memory/time limits, with explicit two-thread execution. Both retain the complete discovered list, their exact selection and full PostgreSQL report through the existing bounded artifact summarizer. Other corpus/cohort parts and all image pins/native source are unchanged.

    Local source checks pass: 18 parts/report controls, 82 aggregate/input controls, 84 isolation controls and the full isolation scan. The new inert Cargo test executes the actual bootstrap shell: the halves are disjoint/exhaustive, qualification runs only in the first, empty/failed discovery and failed suites stop before build, and non-native parts execute no Cargo command. No real Cargo build, PostgreSQL or container ran locally.

    Next, Server will refresh this normally onto #1042's actual accepted main and open its ordinary CI qualification. The current parser head 3a8ccf9a remains the active train. Native backend coverage, full artifact identities, current discovery counts and measured timing are still pending; no speedup is claimed. The authenticated unsharded 843.73-second PostgreSQL execution baseline remains original evidence, and equivalent-current-source comparisons are required before final performance claims.

  2. rmcdaniel commented on Nov 6, 2026

    @rmcdaniel
    MemberAuthor

    The CI-only fix is now draft #1044 at 1acfcdd23a78231aafb415a2a6b842066eaaac39, tree d36e0b06a5cd69298033dbd2f932f511e5cfc112, against accepted parser main 7c9e3f97. The exact PR body and three-file delta are reconciled. The Rust tree is identical to the accepted base. Auto-merge is off and there are no closing references.

    The maintained-base source checks pass: 100 selection/report/aggregate controls, 84 isolation controls and the full workflow isolation scan. Normal PR CI is running. Both PostgreSQL images need their own complete listed-test inventory, disjoint/exhaustive selected halves, successful actual results and elapsed times before performance acceptance. #1042's original PostgreSQL 16 job supplies the current baseline: 19m54s total, 18m39s bootstrap/native tests. No existing corpus, database/TLS test, resource bound or required aggregate context is removed. No performance pass is claimed yet.

  3. rmcdaniel commented on Nov 6, 2026

    @rmcdaniel
    MemberAuthor

    Completed by #1044 at accepted main ae956f2e9cd4fe6724ff8617d83bf7d708bf49ac. Final source/actual-main acceptance and cleanup records the original queue and all five successful main workflows. Both PostgreSQL versions have complete disjoint 729-test coverage, with 728 passes and the existing ignored test, full retained reports, and observed slowest-job reductions of 7m01s and 2m08s. The runtime tree and all prior corpus/cohort checks remain intact. #1045 / #1046 separately own the remaining SQLite corpus critical path; no whole-pipeline speedup is claimed from this issue's ordinary paired runs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions