Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
498 commits
Select commit Hold shift + click to select a range
edfc8d0
Merge pull request #1101 from Altinity/fix-optin-s3-regions
zvonand Oct 24, 2025
e143307
Fix build with sanitizer
ianton-ru Oct 24, 2025
1a190de
Merge pull request #1098 from Altinity/catch-exception-systables-iceberg
Enmk Oct 24, 2025
58eb474
timezone_for_iceberg_timestamptz setting
ianton-ru Oct 24, 2025
d919c02
Check multiplexed connection before usage
ianton-ru Oct 24, 2025
60b3c12
Add tests for timezone_for_iceberg_timestamptz setting
ianton-ru Oct 24, 2025
4f63159
Update .gitmodules
filimonov Oct 27, 2025
ee00ebb
remove kind of dead code
arthurpassos Oct 28, 2025
5c61bd6
small tweaks for demo
arthurpassos Oct 28, 2025
d609d04
todo comment
arthurpassos Oct 28, 2025
c69dcbc
preserve parquet specific parallel formatting
arthurpassos Oct 28, 2025
1b4135f
nullopt format
arthurpassos Oct 28, 2025
c5c00cd
tmp
arthurpassos Oct 28, 2025
03e64f0
build fixes
arthurpassos Oct 28, 2025
ff7562b
Small iceberg read optimization optimization
ianton-ru Oct 28, 2025
45effd9
Merge pull request #1091 from Altinity/update_regression_hash_25.8
strtgbb Oct 28, 2025
112b8df
Merge branch 'antalya-25.8' into bugfix/antalya-25.8/swarm_cancel_seg…
ianton-ru Oct 28, 2025
d58d9c8
Revert "build fixes"
arthurpassos Oct 29, 2025
56aca7b
Revert "tmp"
arthurpassos Oct 29, 2025
290613f
path logical fix
arthurpassos Oct 29, 2025
8460775
typo
arthurpassos Oct 29, 2025
803a309
save max threads as well
arthurpassos Oct 29, 2025
5dcfac6
another random fix
arthurpassos Oct 29, 2025
cefedd6
Merge branch 'antalya-25.8' into parquet_parallel_formatting
arthurpassos Oct 29, 2025
ee84f2b
icebergLocalCluster table function
ianton-ru Oct 29, 2025
6c60493
Merge pull request #1105 from Altinity/ant-25.8-submodules-url-1
Enmk Oct 31, 2025
787a51e
Use allow_experimental_iceberg_read_optimization in serialize
ianton-ru Nov 3, 2025
45c0ce3
Fixes after review
ianton-ru Nov 3, 2025
3144857
Update on reads, tests
ianton-ru Nov 3, 2025
8238426
rename property to match setting
arthurpassos Nov 3, 2025
b571f5a
wip - refactor new design
arthurpassos Nov 3, 2025
ed20ac7
More tests
ianton-ru Nov 4, 2025
3f0edef
Fix tests
ianton-ru Nov 4, 2025
8ec2285
More metrics for Iceberg
ianton-ru Nov 4, 2025
4487431
looking good before ordering
arthurpassos Nov 4, 2025
f23ed2d
preserve order of tasks..
arthurpassos Nov 5, 2025
149a437
Merge branch 'antalya-25.8' into export_replicated_mt_partition_v2
arthurpassos Nov 5, 2025
fb2d7f7
increase some sleeps to try to make the test more stable?
arthurpassos Nov 5, 2025
d4b55b5
Move json serialization under condition in all insertRowToLogTable calls
ianton-ru Nov 5, 2025
ee2abd0
implement ttl that depends on cleanup, try to make tests more stable
arthurpassos Nov 5, 2025
70805a8
Forgotten change
ianton-ru Nov 5, 2025
d6e4226
improve ttl so it does not depend on cleanup, add test for ttl
arthurpassos Nov 5, 2025
c2b5d84
cleanup the code in updating task
arthurpassos Nov 5, 2025
601be4c
rmv useless change
arthurpassos Nov 5, 2025
60c312c
Merge pull request #1106 from Altinity/parquet_parallel_formatting
Enmk Nov 6, 2025
d9796b4
Cancel background exports instead of waiting for them upon drop table
arthurpassos Nov 6, 2025
3f64bff
Merge branch 'antalya-25.8' into export_replicated_mt_partition_v2
arthurpassos Nov 6, 2025
26bd613
rmv bad ex log
arthurpassos Nov 6, 2025
39882f5
Iceberg cross join
ianton-ru Nov 5, 2025
5ff409a
Fix for table schema, more tests
ianton-ru Nov 6, 2025
9d7edd8
More local context
ianton-ru Nov 7, 2025
957e164
Merge branch 'antalya-25.8' into feature/antalya-25.8/iceberg_local_c…
ianton-ru Nov 7, 2025
42aa0be
Fix for HiveCatalog
ianton-ru Nov 7, 2025
803a91a
preserve some settings in export partition zk task
arthurpassos Nov 7, 2025
d122cd1
Merge pull request #1102 from Altinity/bugfix/antalya-25.8/swarm_canc…
Enmk Nov 7, 2025
b746e01
Add comment
ianton-ru Nov 7, 2025
2d1baaf
Made iceberg_read_optimization_enabled const
Enmk Nov 7, 2025
7a12b3a
make the zk structure a bit more flat
arthurpassos Nov 7, 2025
b53fc06
Fix SYSTEM DROP FILESYSTEM CACHE 'cache' ON CLUSTER 'cluster'
ianton-ru Nov 10, 2025
cc82fa1
Merge pull request #1109 from Altinity/feature/antalya-25.8/less_info…
Enmk Nov 10, 2025
9e14881
improve log parsing for integration crossouts
strtgbb Oct 30, 2025
ace4fde
light refactoring of create_workflow_report
strtgbb Oct 31, 2025
1a155d2
fix in progress workflow report missing latest commit statuses
strtgbb Nov 5, 2025
b00c771
overhaul broken tests system, now uses yaml, supports regex
strtgbb Nov 3, 2025
45a2076
add github run id to workflow report path
strtgbb Nov 6, 2025
00487dd
update broken tests list, fix sanitizer regex and lint error
strtgbb Nov 7, 2025
7061fbc
Add test
ianton-ru Nov 10, 2025
d5d5672
Merge branch 'antalya-25.8' into bugfix/antalya-25.8/system_drop_file…
ianton-ru Nov 10, 2025
de9deb2
introduce file already exists policy setting
arthurpassos Nov 10, 2025
cf13ec2
use enum for statuses, remove status from completed part export, try …
arthurpassos Nov 10, 2025
a4abf75
Merge pull request #1123 from Altinity/feature/antalya-25.8/iceberg_m…
Enmk Nov 10, 2025
91e6a82
Merge pull request #1103 from Altinity/feature/antalya-25.8/timezone_…
Enmk Nov 10, 2025
aebebf5
Fix test
ianton-ru Nov 11, 2025
54ce5bc
Fix test
ianton-ru Nov 11, 2025
3842dfd
Merge branch 'antalya-25.8' into feature/antalya-25.8/iceberg_local_c…
ianton-ru Nov 11, 2025
9ce6b71
Fix info about joins
ianton-ru Nov 11, 2025
454bafd
Merge branch 'antalya-25.8' into feature/antalya-25.8/s3cluster_globa…
ianton-ru Nov 11, 2025
239cf4c
Turn off contable column
ianton-ru Nov 11, 2025
10f1a23
Merge pull request #1120 from Altinity/feature/antalya-25.8/iceberg_l…
Enmk Nov 12, 2025
0c0b85f
refactor kill so that it sets status instead of removing entry, adds …
arthurpassos Nov 12, 2025
4024b52
Merge branch 'antalya-25.8' into export_replicated_mt_partition_v2
arthurpassos Nov 12, 2025
b61dbc0
Merge pull request #1130 from Altinity/bugfix/antalya-25.8/system_dro…
Enmk Nov 13, 2025
c64498e
Merge pull request #87220 from ClickHouse/pqice
al13n321 Sep 30, 2025
872f4c0
More virtual methods for StorageObjectStorageCluster
ianton-ru Nov 13, 2025
154e5fe
Revert "ColumnConstable"
ianton-ru Nov 13, 2025
e1a8cd1
Merge branch 'antalya-25.8' into feature/antalya-25.8/s3cluster_globa…
ianton-ru Nov 13, 2025
0c3149b
Merge branch 'antalya-25.8' into crossout_rework
strtgbb Nov 13, 2025
1308f7a
Merge pull request #87600 from ClickHouse/pqf
al13n321 Oct 21, 2025
5f13de8
Merge pull request #87444 from ClickHouse/pqdec
al13n321 Sep 27, 2025
615b144
Merge pull request #1137 from Altinity/bugfix/antalya-25.8/fix_prewhe…
Enmk Nov 13, 2025
5d2d902
Merge branch 'antalya-25.8' into backports/antalya-25.8/87220
Enmk Nov 13, 2025
6a8b390
Merge branch 'antalya-25.8' into export_replicated_mt_partition_v2
arthurpassos Nov 13, 2025
7e90b70
some logs
arthurpassos Nov 13, 2025
0c67f05
small changes
arthurpassos Nov 13, 2025
a9f62d1
Merge pull request #1119 from Altinity/crossout_rework
strtgbb Nov 13, 2025
38baa68
Merge branch 'antalya-25.8' into backports/antalya-25.8/87220
mkmkme Nov 14, 2025
059467c
address a few minor comments
arthurpassos Nov 14, 2025
a8b9ce4
use existing raii construct for ephemeral nodes in zk
arthurpassos Nov 14, 2025
460f2f4
add a missing piece (I hope it was a missing piece)
arthurpassos Nov 14, 2025
522cfdb
do not mark part export as failed in case of cancelled export
arthurpassos Nov 14, 2025
147d21c
rmv super flaky test
arthurpassos Nov 14, 2025
a1c57b1
process chunks in order
arthurpassos Nov 15, 2025
c2ca132
preserve format settings
arthurpassos Nov 15, 2025
4aa8eb5
build issue
arthurpassos Nov 15, 2025
bada40f
put the background threads, kill operation and system table behind se…
arthurpassos Nov 15, 2025
84cdcc2
try to fix build without building
arthurpassos Nov 15, 2025
47ba454
build issue
arthurpassos Nov 15, 2025
f941909
build issue
arthurpassos Nov 15, 2025
0486df2
try to prevent dangling reference access
arthurpassos Nov 15, 2025
6a5e2a2
rmv unrelated change
arthurpassos Nov 16, 2025
8602587
use the right config name
arthurpassos Nov 16, 2025
276dbf1
use settingsenum
arthurpassos Nov 16, 2025
1ec94fa
Enable experimental export merge tree partition
arthurpassos Nov 16, 2025
4135ff7
Update enable_experimental_export_merge_tree_partition.xml
arthurpassos Nov 16, 2025
06e48e4
Fixes after review
ianton-ru Nov 14, 2025
6ceecc4
Add tests
ianton-ru Nov 17, 2025
2513c29
Merge branch 'antalya-25.8' into feature/antalya-25.8/s3cluster_globa…
ianton-ru Nov 17, 2025
a305168
Merge pull request #1143 from Altinity/process_chunks_in_order
Enmk Nov 17, 2025
44b5a93
Merge pull request #1140 from Altinity/backports/antalya-25.8/87444
Enmk Nov 17, 2025
a736a6c
fix privilege issue
arthurpassos Nov 17, 2025
37d50ec
generate transaction id instead of reusing the queryid
arthurpassos Nov 17, 2025
7c7f251
Merge branch 'antalya-25.8' into export_replicated_mt_partition_v2
arthurpassos Nov 17, 2025
3314f21
fix possible dangling ref
arthurpassos Nov 17, 2025
8fd1ba5
Merge pull request #1144 from Altinity/preserve_format_settings_expor…
Enmk Nov 17, 2025
59cd727
use yet another tryget
arthurpassos Nov 17, 2025
6b9870a
Merge branch 'antalya-25.8' into export_replicated_mt_partition_v2
arthurpassos Nov 17, 2025
4b0eb33
remove confusing job status column from known fails table
strtgbb Nov 17, 2025
4516b8a
add broken count to the ci jobs status table
strtgbb Nov 17, 2025
7799454
Merge pull request #1082 from Altinity/feature/antalya-25.8/s3cluster…
Enmk Nov 17, 2025
19d5821
Merge pull request #1136 from Altinity/backports/antalya-25.8/87220
Enmk Nov 17, 2025
168c3be
Merge branch 'antalya-25.8' into backports/antalya-25.8/87600
Enmk Nov 17, 2025
a856e6c
initial export part docs
arthurpassos Nov 19, 2025
7f15267
retrigger lighter ci
arthurpassos Nov 19, 2025
d09fb0b
Merge pull request #1124 from Altinity/export_replicated_mt_partition_v2
Enmk Nov 19, 2025
13efbd1
add system.exports docs
arthurpassos Nov 19, 2025
1ba3607
minor changes
arthurpassos Nov 19, 2025
126b9a7
Merge branch 'antalya-25.8' into backports/antalya-25.8/87600
mkmkme Nov 19, 2025
814efbe
fix rawblob vs hive columns
arthurpassos Sep 23, 2025
6906243
use columns description instead of columns file. This should not brea…
arthurpassos Sep 24, 2025
7f5031a
fix
arthurpassos Nov 19, 2025
f8d2078
Merge pull request #90209 from alsugiliazova/fix_json_parsing_issue_i…
alesapin Nov 19, 2025
7312bb5
tests
arthurpassos Nov 19, 2025
f078a49
fix wrong defaults in docs
arthurpassos Nov 19, 2025
08c5c1c
Add transaction_id to partition manifests in tests
arthurpassos Nov 20, 2025
3707112
Fix transaction_id assignment in export partition tests
arthurpassos Nov 20, 2025
d88fc4e
fix type in docs
arthurpassos Nov 20, 2025
c2abe7b
fix flakiness in tests by adding status poll instead of random sleeps
arthurpassos Nov 20, 2025
e8200e3
remove useless comment
arthurpassos Nov 20, 2025
4a38215
Write documentation for local testing
strtgbb Nov 20, 2025
d6eef2b
Adjust expiration time and sleep duration in test
arthurpassos Nov 20, 2025
9694b81
Merge pull request #1151 from Altinity/backports/antalya-25.8/90209
Enmk Nov 20, 2025
35b06fe
Merge pull request #1157 from Altinity/arthurpassos-patch-6
Enmk Nov 20, 2025
8bc5cdb
Merge pull request #1150 from Altinity/fix_crash_on_mutation_x_export
Enmk Nov 21, 2025
7ba4cce
Merge pull request #1158 from Altinity/export_replicated_mt_partition_v2
Enmk Nov 21, 2025
07632a3
Merge pull request #1147 from Altinity/export_part_docs
Enmk Nov 21, 2025
25ed9aa
Merge pull request #1145 from Altinity/report_tweaks_25.8
strtgbb Nov 21, 2025
5d94c05
Revert support for 'IN' in cluster requests
ianton-ru Nov 21, 2025
f350ed1
Merge branch 'antalya-25.8' into bugfix/antalya-25.8/revert_in_for_cl…
ianton-ru Nov 21, 2025
8ecf4aa
Merge branch 'antalya-25.8' into antalya_25.8_backport_87528
Enmk Nov 21, 2025
d13eab3
Merge branch 'antalya-25.8' into backports/antalya-25.8/87600
Enmk Nov 21, 2025
cd1a38f
rename files
filimonov Nov 11, 2025
6ad282e
rename layers to segments
filimonov Nov 11, 2025
5d47f07
store headers
filimonov Nov 11, 2025
e59a1f3
more renames
filimonov Nov 11, 2025
6ac3b3c
more renames2
filimonov Nov 11, 2025
abf4a3b
test for missing column
filimonov Nov 11, 2025
3110105
allow using tables from the current database implicitly
filimonov Nov 19, 2025
bcb0f1f
Mark Hybrid experimental
filimonov Nov 19, 2025
a13a1e5
almost working draft
filimonov Nov 19, 2025
0e0e76b
better
filimonov Nov 19, 2025
cac851f
fix merge issue
filimonov Nov 19, 2025
2f1e11d
misplaced setting
filimonov Nov 19, 2025
6edfd3a
better explantation for cached header
filimonov Nov 21, 2025
78a9ba1
hybrid_table_auto_cast_columns=true
filimonov Nov 21, 2025
d48f1bf
Tightened buildQueryTreeDistributed to avoid unused default params an…
filimonov Nov 21, 2025
df02469
redundant move/copy
filimonov Nov 21, 2025
c152623
better comment for HybridCastVisitor
filimonov Nov 21, 2025
bb3a5f2
better signature, avoid pointer
filimonov Nov 21, 2025
ac8ad7d
review comments
filimonov Nov 21, 2025
113cfe6
Prevent creation of the Hybrid tables when some segments does not pro…
filimonov Nov 21, 2025
eda9305
moving the rewrite to a analyzer pass, seem to work much better
filimonov Nov 21, 2025
2186269
finishing
filimonov Nov 21, 2025
90cbc5e
better
filimonov Nov 21, 2025
0896a85
comment
filimonov Nov 21, 2025
cf964c0
Allow to read Iceberg data from any location (pt 1)
zvonand Sep 9, 2025
7f1cc56
works for file
zvonand Nov 11, 2025
963e7fe
all integration tests work
zvonand Nov 17, 2025
28c8048
try to fix last test
zvonand Nov 18, 2025
8d5ee53
Cleanup
zvonand Nov 19, 2025
07f9c57
try to fix
zvonand Nov 20, 2025
7c7e7e9
partition export docs
arthurpassos Nov 21, 2025
3a12f3f
Merge branch 'antalya-25.8' into export_replicated_mt_partition_v2
arthurpassos Nov 21, 2025
6f8377c
Get rid of experimatal marker for hybrid_table_auto_cast_columns flag…
filimonov Nov 21, 2025
2e942f9
desperate step: add debug output to see what happens in CI
zvonand Nov 20, 2025
87f0a4e
Trigger CI/CD
filimonov Nov 22, 2025
3841418
Merge pull request #1092 from Altinity/bugfix/antalya-25.8/963
zvonand Nov 22, 2025
406e0e5
Change extractor to thread_local for safety
arthurpassos Nov 23, 2025
d350e7d
follow-up 1
zvonand Nov 23, 2025
daa90b5
Merge pull request #1162 from Altinity/arthurpassos-patch-7
zvonand Nov 23, 2025
dd8172c
Merge branch 'antalya-25.8' into backports/antalya-25.8/87600
Enmk Nov 23, 2025
6940b68
Merge branch 'antalya-25.8' into mf_25.8_hybrid2
Enmk Nov 23, 2025
8550f32
fix taskdistributor
zvonand Nov 23, 2025
debc59c
Merge branch 'antalya-25.8' into bugfix/antalya-25.8/963-followup
zvonand Nov 24, 2025
ed69896
Merge pull request #1163 from Altinity/bugfix/antalya-25.8/963-followup
zvonand Nov 24, 2025
0b1db60
Merge branch 'antalya-25.8' into bugfix/antalya-25.8/revert_in_for_cl…
mkmkme Nov 24, 2025
482ba61
Merge pull request #1160 from Altinity/bugfix/antalya-25.8/revert_in_…
Enmk Nov 24, 2025
d6bcd47
Merge pull request #1149 from Altinity/antalya_25.8_backport_87528
Enmk Nov 24, 2025
772a273
Merge branch 'antalya-25.8' into backports/antalya-25.8/87600
Enmk Nov 24, 2025
9015f22
Merge branch 'antalya-25.8' into mf_25.8_hybrid2
Enmk Nov 24, 2025
66729a7
small tweak to possibly fix a bug
arthurpassos Nov 24, 2025
3b279bd
some vibe coded fix - too tired, continue tomorrow
arthurpassos Nov 25, 2025
e678ec8
Revert "Backport of 90474 - Fix thread-safety race condition in stati…
arthurpassos Nov 25, 2025
c8c233e
Merge pull request #1166 from Altinity/revert-1162-arthurpassos-patch-7
zvonand Nov 25, 2025
c236f00
Merge branch 'antalya-25.8' into backports/antalya-25.8/87600
mkmkme Nov 25, 2025
6b07680
well well
arthurpassos Nov 25, 2025
fcb6ded
Merge pull request #1138 from Altinity/backports/antalya-25.8/87600
Enmk Nov 25, 2025
8c0d982
Merge branch 'antalya-25.8' into mf_25.8_hybrid2
Enmk Nov 25, 2025
c0d280e
Merge pull request #1161 from Altinity/export_replicated_mt_partition_v2
zvonand Nov 25, 2025
f565e95
cleanup export manifests at shutdown
arthurpassos Nov 25, 2025
6cec570
reorder
arthurpassos Nov 25, 2025
6a99acf
I am just too crazy at this point
arthurpassos Nov 25, 2025
807c012
Merge pull request #1156 from Altinity/mf_25.8_hybrid2
Enmk Nov 25, 2025
8b8535b
Merge pull request #1167 from Altinity/export_replicated_mt_partition_v2
Enmk Nov 25, 2025
dae46f4
add fallback if integration test log extraction fails
strtgbb Nov 25, 2025
8126097
Update broken_tests.yaml
strtgbb Nov 25, 2025
d073964
Disable datalake prewhere, allow missing field_id
al13n321 Oct 27, 2025
0092965
Disable prewhere in test_storage_iceberg for now
mkmkme Nov 26, 2025
ad25f91
Add hints about where to find test logs
strtgbb Nov 26, 2025
923825b
Merge pull request #1159 from Altinity/document_local_testing_25.8
strtgbb Nov 26, 2025
f5fb292
Merge pull request #1171 from Altinity/mkmkme/antalya-25.8-missing-fi…
zvonand Nov 26, 2025
eb9bfbe
Initialize last_node_activity for all nodes
ianton-ru Nov 28, 2025
591b199
Merge pull request #1170 from Altinity/fix-integ-crossout-25.8
strtgbb Dec 1, 2025
6f6ef4b
Fix lock_object_storage_task_distribution_ms with a few files
ianton-ru Dec 2, 2025
be009fc
Merge branch 'antalya-25.8' into bugfix/antalya-25.8/fix_object_stora…
ianton-ru Dec 2, 2025
bdd9988
Fix for case with matched file in unprocessed list
ianton-ru Dec 3, 2025
3cb4199
Fix iterator using after remove
ianton-ru Dec 3, 2025
249feb8
Fix typo in comment
ianton-ru Dec 3, 2025
fdf7af5
Add native reader setting for Parquet SQL test
arthurpassos Dec 3, 2025
cb8916c
Fix test_storage_s3/test.py::test_archive
ianton-ru Dec 3, 2025
79ff374
Merge pull request #1178 from Altinity/bugfix/antalya-25.8/fix_object…
Enmk Dec 4, 2025
9820bf7
Update regression hash
strtgbb Dec 1, 2025
84bab0c
Merge pull request #1186 from Altinity/arthurpassos-patch-8
Enmk Dec 4, 2025
947244b
Merge pull request #1182 from Altinity/update_regression_25.8
strtgbb Dec 4, 2025
c91b853
merge 25.8.12
zvonand Dec 5, 2025
ad6252a
remove wrong part
zvonand Dec 5, 2025
b1609bb
update yamls
zvonand Dec 5, 2025
360a0d0
fix build
zvonand Dec 5, 2025
349e3f6
fix bad merge
zvonand Dec 6, 2025
c0c3fe9
Merge pull request #1193 from Altinity/antalya-merge-25.8.12
zvonand Dec 6, 2025
552502b
merge antalya-25.8
zvonand Dec 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/workflows/master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4178,7 +4178,7 @@ jobs:
secrets: inherit
with:
runner_type: altinity-on-demand, altinity-regression-tester
commit: c07440a1ad14ffc5fc49ce90dff2f40c2e5f364d
commit: 00a50b5b8f12c9c603b9a3fa17dd2c5ea2012cac
arch: release
build_sha: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
timeout_minutes: 300
Expand All @@ -4190,7 +4190,7 @@ jobs:
secrets: inherit
with:
runner_type: altinity-on-demand, altinity-regression-tester-aarch64
commit: c07440a1ad14ffc5fc49ce90dff2f40c2e5f364d
commit: 00a50b5b8f12c9c603b9a3fa17dd2c5ea2012cac
arch: aarch64
build_sha: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
timeout_minutes: 300
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4134,7 +4134,7 @@ jobs:
secrets: inherit
with:
runner_type: altinity-on-demand, altinity-regression-tester
commit: c07440a1ad14ffc5fc49ce90dff2f40c2e5f364d
commit: 00a50b5b8f12c9c603b9a3fa17dd2c5ea2012cac
arch: release
build_sha: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
timeout_minutes: 300
Expand All @@ -4146,7 +4146,7 @@ jobs:
secrets: inherit
with:
runner_type: altinity-on-demand, altinity-regression-tester-aarch64
commit: c07440a1ad14ffc5fc49ce90dff2f40c2e5f364d
commit: 00a50b5b8f12c9c603b9a3fa17dd2c5ea2012cac
arch: aarch64
build_sha: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
timeout_minutes: 300
Expand Down
4 changes: 2 additions & 2 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
url = https://github.com/Thalhammer/jwt-cpp
[submodule "contrib/zstd"]
path = contrib/zstd
url = https://github.com/facebook/zstd
url = https://github.com/ClickHouse/zstd.git
[submodule "contrib/lz4"]
path = contrib/lz4
url = https://github.com/lz4/lz4
Expand Down Expand Up @@ -45,7 +45,7 @@
url = https://github.com/ClickHouse/arrow
[submodule "contrib/thrift"]
path = contrib/thrift
url = https://github.com/apache/thrift
url = https://github.com/ClickHouse/thrift.git
[submodule "contrib/libhdfs3"]
path = contrib/libhdfs3
url = https://github.com/ClickHouse/libhdfs3
Expand Down
2 changes: 2 additions & 0 deletions 03631_hive_columns_not_in_format_header.reference
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
1
raw_blob String
13 changes: 13 additions & 0 deletions 03631_hive_columns_not_in_format_header.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
-- Tags: no-parallel, no-fasttest, no-random-settings

INSERT INTO FUNCTION s3(
s3_conn,
filename='03631',
format=Parquet,
partition_strategy='hive',
partition_columns_in_data_file=1) PARTITION BY (year, country) SELECT 'Brazil' as country, 2025 as year, 1 as id;

-- distinct because minio isn't cleaned up
SELECT count(distinct year) FROM s3(s3_conn, filename='03631/**.parquet', format=RawBLOB) SETTINGS use_hive_partitioning=1;

DESCRIBE s3(s3_conn, filename='03631/**.parquet', format=RawBLOB) SETTINGS use_hive_partitioning=1;
2 changes: 1 addition & 1 deletion ci/praktika/yaml_additional_templates.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class AltinityWorkflowTemplates:
echo "Workflow Run Report: [View Report]($REPORT_LINK)" >> $GITHUB_STEP_SUMMARY
"""
# Additional jobs
REGRESSION_HASH = "c07440a1ad14ffc5fc49ce90dff2f40c2e5f364d"
REGRESSION_HASH = "00a50b5b8f12c9c603b9a3fa17dd2c5ea2012cac"
ALTINITY_JOBS = {
"GrypeScan": r"""
GrypeScanServer:
Expand Down
160 changes: 160 additions & 0 deletions docs/en/engines/table-engines/mergetree-family/part_export.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
# ALTER TABLE EXPORT PART

## Overview

The `ALTER TABLE EXPORT PART` command exports individual MergeTree data parts to object storage (S3, Azure Blob Storage, etc.), typically in Parquet format.

**Key Characteristics:**
- **Experimental feature** - must be enabled via `allow_experimental_export_merge_tree_part` setting
- **Asynchronous** - executes in the background, returns immediately
- **Ephemeral** - no automatic retry mechanism; manual retry required on failure
- **Idempotent** - safe to re-export the same part (skips by default if file exists)
- **Preserves sort order** from the source table

## Syntax

```sql
ALTER TABLE [database.]table_name
EXPORT PART 'part_name'
TO TABLE [destination_database.]destination_table
SETTINGS allow_experimental_export_merge_tree_part = 1
[, setting_name = value, ...]
```

### Parameters

- **`table_name`**: The source MergeTree table containing the part to export
- **`part_name`**: The exact name of the data part to export (e.g., `'2020_1_1_0'`, `'all_1_1_0'`)
- **`destination_table`**: The target table for the export (typically an S3, Azure, or other object storage table)

## Requirements

Source and destination tables must be 100% compatible:

1. **Identical schemas** - same columns, types, and order
2. **Matching partition keys** - partition expressions must be identical

## Settings

### `allow_experimental_export_merge_tree_part` (Required)

- **Type**: `Bool`
- **Default**: `false`
- **Description**: Must be set to `true` to enable the experimental feature.

### `export_merge_tree_part_overwrite_file_if_exists` (Optional)

- **Type**: `Bool`
- **Default**: `false`
- **Description**: If set to `true`, it will overwrite the file. Otherwise, fails with exception.

## Examples

### Basic Export to S3

```sql
-- Create source and destination tables
CREATE TABLE mt_table (id UInt64, year UInt16)
ENGINE = MergeTree() PARTITION BY year ORDER BY tuple();

CREATE TABLE s3_table (id UInt64, year UInt16)
ENGINE = S3(s3_conn, filename='data', format=Parquet, partition_strategy='hive')
PARTITION BY year;

-- Insert and export
INSERT INTO mt_table VALUES (1, 2020), (2, 2020), (3, 2021);

ALTER TABLE mt_table EXPORT PART '2020_1_1_0' TO TABLE s3_table
SETTINGS allow_experimental_export_merge_tree_part = 1;

ALTER TABLE mt_table EXPORT PART '2021_2_2_0' TO TABLE s3_table
SETTINGS allow_experimental_export_merge_tree_part = 1;
```

## Monitoring

### Active Exports

Active exports can be found in the `system.exports` table. As of now, it only shows currently executing exports. It will not show pending or finished exports.

```sql
arthur :) select * from system.exports;

SELECT *
FROM system.exports

Query id: 2026718c-d249-4208-891b-a271f1f93407

Row 1:
──────
source_database: default
source_table: source_mt_table
destination_database: default
destination_table: destination_table
create_time: 2025-11-19 09:09:11
part_name: 20251016-365_1_1_0
destination_file_path: table_root/eventDate=2025-10-16/retention=365/20251016-365_1_1_0_17B2F6CD5D3C18E787C07AE3DAF16EB1.parquet
elapsed: 2.04845441
rows_read: 1138688 -- 1.14 million
total_rows_to_read: 550961374 -- 550.96 million
total_size_bytes_compressed: 37619147120 -- 37.62 billion
total_size_bytes_uncompressed: 138166213721 -- 138.17 billion
bytes_read_uncompressed: 316892925 -- 316.89 million
memory_usage: 596006095 -- 596.01 million
peak_memory_usage: 601239033 -- 601.24 million
```

### Export History

You can query succeeded or failed exports in `system.part_log`. For now, it only keeps track of completion events (either success or fails).

```sql
arthur :) select * from system.part_log where event_type='ExportPart' and table = 'replicated_source' order by event_time desc limit 1;

SELECT *
FROM system.part_log
WHERE (event_type = 'ExportPart') AND (`table` = 'replicated_source')
ORDER BY event_time DESC
LIMIT 1

Query id: ae1c1cd3-c20e-4f20-8b82-ed1f6af0237f

Row 1:
──────
hostname: arthur
query_id:
event_type: ExportPart
merge_reason: NotAMerge
merge_algorithm: Undecided
event_date: 2025-11-19
event_time: 2025-11-19 09:08:31
event_time_microseconds: 2025-11-19 09:08:31.974701
duration_ms: 4
database: default
table: replicated_source
table_uuid: 78471c67-24f4-4398-9df5-ad0a6c3daf41
part_name: 2021_0_0_0
partition_id: 2021
partition: 2021
part_type: Compact
disk_name: default
path_on_disk: year=2021/2021_0_0_0_78C704B133D41CB0EF64DD2A9ED3B6BA.parquet
rows: 1
size_in_bytes: 272
merged_from: ['2021_0_0_0']
bytes_uncompressed: 86
read_rows: 1
read_bytes: 6
peak_memory_usage: 22
error: 0
exception:
ProfileEvents: {}
```

### Profile Events

- `PartsExports` - Successful exports
- `PartsExportFailures` - Failed exports
- `PartsExportDuplicated` - Number of part exports that failed because target already exists.
- `PartsExportTotalMilliseconds` - Total time

Loading
Loading