Skip to content

fix(migrations): Send HTTP progress during long ON CLUSTER DDL - #8413

Merged
phacops merged 1 commit into
masterfrom
fix/migrate-http-progress-headers
Aug 28, 2026
Merged

fix(migrations): Send HTTP progress during long ON CLUSTER DDL#8413
phacops merged 1 commit into
masterfrom
fix/migrate-http-progress-headers

Conversation

@phacops

@phacops phacops commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

MIGRATE DDL can sit on a lock (DROP of an MV on a hot table) without writing HTTP bytes. ClickHouse then hits http_send_timeout / idle and the client sees IncompleteRead even though the statement is still running.

The MIGRATE profile now sends progress headers every 15s, same as REPLACE. SYNC and distributed_ddl_task_timeout are unchanged; this only keeps the HTTP stream alive until ClickHouse actually finishes.

Refs SNUBA-C3Y

Quiet DROP TABLE ... ON CLUSTER SYNC can sit on a hot-table lock with
no HTTP bytes, so http_send_timeout / idle IncompleteRead the body.

Match REPLACE: send_progress_in_http_headers every 15s.

Refs SNUBA-C3Y
@phacops
phacops marked this pull request as ready for review August 28, 2026 19:02
@phacops
phacops requested a review from a team as a code owner August 28, 2026 19:02
@phacops
phacops enabled auto-merge (squash) August 28, 2026 19:12
@phacops
phacops merged commit 3fdaced into master Aug 28, 2026
66 checks passed
@phacops
phacops deleted the fix/migrate-http-progress-headers branch August 28, 2026 19:33
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