Skip to content

fix: support Dolt 2.3.1 GTID replication - #480

Merged
weicao merged 1 commit into
mainfrom
feature/dolt-2.3.1-support
Aug 26, 2026
Merged

fix: support Dolt 2.3.1 GTID replication#480
weicao merged 1 commit into
mainfrom
feature/dolt-2.3.1-support

Conversation

@weicao

@weicao weicao commented Aug 23, 2026

Copy link
Copy Markdown
Collaborator

Review-only Dolt 2.3.1 replication update

This PR is the post-#484 rebuild of the Dolt 2.3.1 replication change. It is
not a release or merge authorization.

Locked identity

  • Signed head: e20e51bc77345d898ae3dd4c6f7cfcd03986348b
  • Unique parent: ba805622a2b0c855e904e44e158112b216c8724b
  • Tree: 26c91f5ffefec93fccf1149fd175e91b80c94c03
  • GitHub signature: verified=true, reason=valid
  • Scope: exactly 6 files, +977/-259
  • Report SHA-256: e7ae857904d85463951dce5a85450455b9a4152b850d265725be3b46a9039d1e
  • Evidence archive SHA-256: f6ab77f8c613421628ccf7633cf97b7b4c936d954ab8be95a6babc7f060e8153

The parent is the merged PR #484 Dockerfile fix (ba805622); the Dockerfile
is not part of this PR. Rejected heads 3a0d73b5, d54fcc18, and local
unsigned bce4878 are not in the signed commit ancestry. Old approvals do not
transfer.

Implementation boundary

The applier preserves main's QueryFlush barrier, reconnect transaction discard,
encoded/current file-position loading, two-argument non-Dolt dump path, and
transaction ordering. It adds only dual Dolt identity detection and
BinlogThroughGTID (0x04) for confirmed Dolt 2.3.1 MySQL56 GTID positions.
The replication script now suffixes both container names and uses those names
for all Docker operations and DSNs, preventing concurrent collisions and
cleanup of pre-existing fixed-name containers.

Fresh evidence

  • Candidate image myduckserver:task61-post484:
    sha256:cd15802b761da1f4ee6763c0bbcc7c094f7f07375cc6a2803ad91dca677405c9
  • Exact-parent image myduckserver:task61-parent-ba805:
    sha256:518653912d43d5bd9aab96abce9c8606f54f319093da6d80403b6569a107c5ee
  • Dolt candidate: exit 0 through initial/incremental/STOP-START/process-restart,
    exact rows 2 -> 3 -> 4 -> 5, GTID through :1-8, IO/SQL Yes, errno 0.
  • Dolt exact parent: STOP/START exit 1 at the locked main baseline (expected 4,
    got 7); initial/incremental errno 0.
  • MySQL candidate and parent: exit 0.
  • MariaDB candidate and parent: exit 0 with the same known Last_SQL_Errno=1105
    unknown-event baseline.
  • PostgreSQL candidate and parent: both stop at the same 2-row incremental
    boundary; this is shared replication behavior, not candidate-only.
  • Focused capability/dump/QueryFlush/position tests, precompiled restart probes,
    compile-only tests, build, tidy, format, shell syntax, ShellCheck and
    diff-check pass. Two static rounds are recorded as
    0b5159a7b0495d1e2df1c470d55c370877247438a9a7357365b114cccbafb802 and
    8529f7135ceb56aaa7adc7dfb9e9ce12894ff344eb5b0720d2967cf2d8597ef9.
  • The macOS host full-binlog command timed out after 601 seconds because its
    go run . service never listened; all fixtures failed with connection
    refused before product assertions. This is environment evidence, not a
    candidate-only regression. The precompiled candidate/parent package result
    is the shared AutoRestartReplica 1105 / row-event flag 0x10 baseline.

Do not merge, enable auto-merge, publish an image, move a release tag, or move
latest from this PR. A new independent non-author review must bind this exact
head before any integration decision.

@weicao
weicao force-pushed the feature/dolt-2.3.1-support branch 3 times, most recently from cc2eb55 to b91cc2a Compare August 23, 2026 20:52
@weicao weicao closed this Aug 24, 2026
@weicao
weicao force-pushed the feature/dolt-2.3.1-support branch from b91cc2a to cbd566f Compare August 24, 2026 20:06
@weicao weicao reopened this Aug 24, 2026
@weicao weicao closed this Aug 24, 2026
@weicao
weicao force-pushed the feature/dolt-2.3.1-support branch from dfedb54 to cbd566f Compare August 24, 2026 20:11
@weicao weicao reopened this Aug 24, 2026
@weicao weicao closed this Aug 24, 2026
@weicao
weicao force-pushed the feature/dolt-2.3.1-support branch from 3a0d73b to cbd566f Compare August 24, 2026 21:04
@weicao weicao reopened this Aug 24, 2026
weicao added a commit that referenced this pull request Aug 26, 2026
Pin the Docker builder to the Go 1.26.2 bookworm multi-arch digest and install ICU build/runtime libraries required by the current dependency graph. Full arm64 and amd64 image builds, initialization, dynamic-library checks, and version checks passed locally. Keep this infrastructure change independent from PR #480.
weicao added a commit that referenced this pull request Aug 26, 2026
Pin the Docker builder to the Go 1.26.2 bookworm multi-arch digest and install ICU build/runtime libraries required by the current dependency graph. Full arm64 and amd64 image builds, initialization, dynamic-library checks, and version checks passed locally. Keep this infrastructure change independent from PR #480.
Review-only Dolt 2.3.1 replication update rebuilt directly on post-#484 main ba80562. Includes the six-file current-tree replay, isolated replication resources, and fresh candidate/parent four-source evidence. Do not merge, enable auto-merge, publish images, or move release tags without a new independent review.
@weicao
weicao force-pushed the feature/dolt-2.3.1-support branch from d54fcc1 to e20e51b Compare August 26, 2026 11:30

@leon-ape leon-ape left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independent review approved for exact signed head e20e51b (tree 26c91f5ffefec93fccf1149fd175e91b80c94c03). Reviewed the six-file diff, frozen candidate/parent evidence, hosted four-source replication matrix, exact-parent CI baselines, and fresh local focused/repeated/race/build/static gates. No merge, auto-merge, release, tag, or image action taken.

@weicao
weicao merged commit a061f32 into main Aug 26, 2026
13 of 18 checks passed
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.

2 participants