Skip to content

fix: batch clone fingerprint finalization - #756

Merged
kvlonge merged 1 commit into
mainfrom
fix/chi-311-clone-fingerprint-batching
Sep 20, 2026
Merged

kvlonge merged 1 commit into
mainfrom
fix/chi-311-clone-fingerprint-batching

Conversation

@kvlonge

@kvlonge kvlonge commented Sep 20, 2026

Copy link
Copy Markdown
Contributor

Why

Large direct clones could finish all visible relation work and then appear hung while clone fingerprints were propagated through hundreds of serial warehouse statements.

Changes

  • group copied fingerprints by destination namespace
  • create each append-only fingerprint table once per clone finalization
  • insert fingerprints in batches of up to 50 rows and 512 KB
  • expose clone finalization lifecycle and cumulative batch progress
  • report bounded unconfirmed fingerprint identities when finalization is interrupted

Verification

  • uv run pytest tests/unit/src/sqlbuild/compiler/fingerprints/main/test_write.py tests/unit/src/sqlbuild/executor/clone/_helpers/fingerprinting/test_fingerprinting.py tests/unit/src/sqlbuild/cli/commands/_helpers/clone/test_output.py tests/unit/src/sqlbuild/cli/commands/_helpers/clone/test_fingerprint_progress.py tests/unit/src/sqlbuild/cli/progress/classes/test_native_progress_projector.py tests/integration/src/sqlbuild/compiler/fingerprints/main/test_read_write.py -n auto --dist loadfile (42 passed)
  • focused real CLI clone E2E (passed)
  • make check-ci

@kvlonge
kvlonge enabled auto-merge (squash) September 20, 2026 17:08
@kvlonge
kvlonge merged commit 20eab8f into main Sep 20, 2026
17 checks passed
@kvlonge
kvlonge deleted the fix/chi-311-clone-fingerprint-batching branch September 20, 2026 17:20
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.

1 participant