8000 Stable 26.3 Backport of #102156 - Fix Nullable(X)->Y cross-type ALTER MODIFY COLUMN by zvonand · Pull Request #2711 · Altinity/ClickHouse · GitHub
[go: up one dir, main page]

Skip to content

Stable 26.3 Backport of #102156 - Fix Nullable(X)->Y cross-type ALTER MODIFY COLUMN - #2711

Merged
zvonand merged 1 commit into
stable-26.3from
backports/stable-26.3/102156
Oct 28, 2026
Merged

zvonand merged 1 commit into
stable-26.3from
backports/stable-26.3/102156

Conversation

@zvonand
@zvonand zvonand commented Oct 27, 2026
Copy link
Copy Markdown
Member

Changelog category (leave one):

  • Bug Fix

Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):

Fixed ALTER MODIFY COLUMN failing when converting a Nullable column to a different type with a DEFAULT (e.g. Nullable(UInt8) → String,LowCardinality(String), or Array(UInt8)). (ClickHouse#102156 by @il9ue)

Documentation entry for user-facing changes

...

CI/CD Options

Exclude tests:

  • Fast test
  • Integration Tests
  • Stateless tests
  • Stateful tests
  • Unit tests
  • Performance tests
  • Aarch64 tests
  • All with ASAN
  • All with TSAN
  • All with MSAN
  • All with UBSAN
  • All with Coverage
  • All Regression
  • Disable CI Cache

Regression jobs to run:

  • Fast suites (mostly <1h)
  • Aggregate Functions (2h)
  • Alter (1.5h)
  • Benchmark (30m)
  • CAS (content-addressed storage; Antalya only)
  • ClickHouse Keeper (1h)
  • Iceberg (2h)
  • LDAP (1h)
  • OAuth (5m)
  • Parquet (1.5h)
  • RBAC (1.5h)
  • SSL Server (1h)
  • S3 (2h)
  • S3 Export (2h)
  • Swarms (30m)
  • Tiered Storage (2h)

…pe-modify-upstream

Fix Nullable(X)->Y cross-type ALTER MODIFY COLUMN
@github-actions
Copy link
Copy Markdown

Workflow [PR], commit [f436b1b]

@blau-ai blau-ai mentioned this pull request Oct 27, 2026
9 of 30 tasks
@zvonand
zvonand commented Oct 28, 2026
Copy link
Copy Markdown
Member Author

@blau-ai

@blau-ai
blau-ai commented Oct 28, 2026
Copy link
Copy Markdown
Collaborator

CI triage for f436b1bc8c4

Summary: none of the failures are caused by this PR. There are 9 failing checks:

The PR's new test 03575_modify_column_null_to_default_cross_type is not in the failure list of any suite, so it passed everywhere it ran.

Check Failing tests Verdict Evidence
Integration (amd_asan, old analyzer, 5/8) and (amd_binary, 4/5) all 16 tests in test_database_glue/test.py Already failing on base Same 16 failures on #2706 and #2696
Integration (amd_asan, old analyzer, 3/8) and (amd_binary, 2/5) test_storage_s3/test_sts.py::test_sts_smoke, test_sts_smoke_s3cluster, test_sts_credentials_cache Already failing on base Same 3 failures on #2706
Stateless (amd_debug, sequential) and (distributed plan, s3 storage, sequential) 03271_s3_table_function_asterisk_glob, 02789_filesystem_cache_alignment Already failing on base (network/timeout) Timeout exceeded while receiving data from server. Waited for 300 seconds on a public S3 bucket. Same pair fails on #2706 and #2683
Stateless (amd_debug, parallel) 03634_autopr_input_bytes_estimation Already failing on base Also fails on #2696
Stateless (distributed plan, s3 storage, parallel) 04033_tpc_ds_q14 Already failing on base Also fails on #2706 and #2696
Stateless (amd_ubsan, parallel) Some queries hung Already failing on base Same result on #2706
Stateless (amd_debug, sequential) 00077_log_tinylog_stripelog, Scraping system tables Slow runner, not this PR See below
DCO no sign-off on the upstream merge commit Process check Also fails on #2696 and #2706; it fails on every backport PR

The two failures found only on this PR (amd_debug, sequential)

  • 00077_log_tinylog_stripelog:
    Code: 160. DB::Exception: Estimated query execution time (681.51544 seconds) is too long. Maximum: 600.
    Estimated rows to process: 8873898 (3915776 read in 300.73163 seconds) ... (TOO_SLOW)
    (in query: INSERT INTO test.hits_log SELECT CounterID, AdvEngineID, RegionID, SearchPhrase, UserID FROM test.hits;)
    
    That is about 13k rows/s reading test.hits, which means the machine was starved. The job ran for about 2h53m (10363 s); the same job on Stable 26.3 Backport of #127318 - Distrust the compromised eMudhra certificates #2696 took 58 min. Other tests in the same job also hit 300 s timeouts.
  • Scraping system tables: System table trace_log has too many rows 10090547 > 10000000. This is a side effect of the job running that long.
  • Why this PR can't be the cause: the diff only changes convertRequiredExpressions(), in the branch where a part stores Nullable(X) but the table now expects a different non-Nullable type Y after ALTER MODIFY COLUMN. test.hits has never been altered that way, so reads from it never reach the changed code.

Suggested next steps

  • Nothing to fix in the PR. If you want a cleaner signal, re-run Stateless tests (amd_debug, sequential) on its own.
  • The Glue, STS and S3 timeout failures are base-branch problems on stable-26.3 and should be tracked separately from this backport.

@zvonand
zvonand merged commit 6732547 into stable-26.3 Oct 28, 2026
260 of 280 checks passed
@zvonand zvonand added the verified Approved for release label Oct 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

26.3 backport Backport stable verified Approved for release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

0