draft: spec-6.0a production shared-storage backend matrix#12
Draft
sqlrush wants to merge 15 commits into
Draft
Conversation
079d0ce to
0615752
Compare
added 14 commits
July 1, 2026 12:04
f7ac432 to
d6b70e7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Status
Spec-6.0a early implementation / draft PR. This branch is PR-ready for review and CI exposure, but remains merge-blocked: do not merge until spec-5.19 + 5.21 beta close-out, Stage 6 entry, and a final D0 re-ground against current
origin/mainare complete.Not shipped. Not a release candidate. No tag or release flow is part of this PR.
Before merge: rebase to then-current
origin/main, redo final D0 re-ground, rerun required local/CI gates, and refresh this evidence.Completed
ClusterSharedFsCaps, durability/fence capability hooks,barrier_sync, and fence-key registration dispatch.block_deviceshared-storage backend with raw layout superblock, bitmap, directory, extent slots, logical EOF, O_DIRECT validation, and fail-closed startup when required config is absent.flock()when no cluster owner is available.RM_CLUSTER_RAW_LAYOUTmetadata WAL records, pg_waldump descriptor wiring, and XLOG magic bump for the new rmgr.SYNC_HANDLER_CLUSTER_SHAREDand cluster_smgr fsync registration/barrier fallback paths.SG_IOprobe/register helpers; unsupported or unavailable PR capability fails closed whenscsi3_pris forced.t/332_block_device_backend.pl.scripts/perf/run-storage-io-matrix.sh, fast/nightly/perf workflow coverage, and report-only perf evidence behavior.origin/mainhas no changes to the prior recovery files.D0 Re-ground After PR #14 / spec-6.5
origin/mainon 2026-07-01 and confirmed it contains spec-6.5 via merge commit955d12651b308bd1cc90d33b0202661a325683cf(Merge pull request #14 from sqlrush/spec-6.5-cluster-backup-restore-pitr).spec-6.0a-production-storageonto thatorigin/main.955d12651b308bd1cc90d33b0202661a325683cf.217e6cb01998bd97bcc89f962698ad955000e31c.D0 Notes
58R02/58R03, but origin/main already allocated class 58 through58R13; this branch uses58R14forcluster_storage_io_alignmentand58R15forcluster_storage_fence_unavailableto preserve the existing dense roster.block_devicecoverage. Hardware O_DIRECT block-device and SCSI-3 PR hardware legs remain external/manual before any release decision.src/bin/pg_waldump/clusterrawdesc.cis a generated symlink produced by the pg_waldump Makefile fromsrc/backend/access/rmgrdesc/clusterrawdesc.c; it is intentionally not tracked.Local Validation
Post-6.5-rebase local validation:
make -s -j4passed.git diff --check origin/main...HEADpassed.scripts/ci/check-comment-headers.shpassed.scripts/ci/check-scn-cmp-gate.shpassed.scripts/ci/check-ges-mode-gate.shpassed.scripts/ci/check-no-clog-overlay.shpassed.scripts/ci/check-tidy.shskipped locally because clang-tidy is not installed; GitHub validate installs and runs it.make -C src/test/cluster_unit checkpassed: 137 cluster unit binaries.make -C src/test/cluster_tap check PROVE_TESTS="t/018_shared_fs.pl t/332_block_device_backend.pl"passed: 23 TAP tests.make -C src/test/cluster_tap check PROVE_TESTS="t/010_views.pl t/030_acceptance.pl t/050_shared_storage_initdb.pl t/200_stage2_acceptance_capability.pl t/226_stage3_mvcc_acceptance_capability.pl t/273_stage4_recovery_acceptance_capability.pl t/332_block_device_backend.pl"passed: 189 TAP tests.make -C src/test/cluster_regress checkpassed: 12 SQL smoke tests.--disable-clusterbuild passed in/private/tmp/linkdb-disable-src-60a-d6b70e.scripts/perf/run-storage-io-matrix.shreturnedunavailableevidence and exit 0 when the default install prefix was absent.Local note:
scripts/ci/check-format.shwith clang-format 22 reports existing full-tree formatting differences in non-6.0a cluster files.git diff --check origin/main...HEADis clean; GitHub fast-gate validate is the authoritative clang-format check for the PR toolchain.PR CI
217e6cb01998bd97bcc89f962698ad955000e31cis running: https://github.com/sqlrush/pgrac/actions/runs/28493851171Remaining Merge Gate
origin/mainrequired before merge.origin/mainand rerun local required gates, fast PR CI, and nightly CI after final re-ground.