·
1554 commits
to antalya-26.3
since this release
26.6.2.20001 Altinity Antalya (fc67ca2) as compared to upstream/v26.6.2.160-stable (493d30c121458540a60405b9a22f1a06c02e61be)
New Features
- Added support for Puffin file format (https://iceberg.apache.org/puffin-spec/). Now this format can be used in table functions like
file,url,s3and so on.. (ClickHouse#103936 by @scanhex12 via #2179) - Iceberg deletion vectors support (#2183 by @ianton-ru)
- Added the
ignore_extra_source_columns_by_namemode for theexport_merge_tree_part_schema_mismatch_modesetting. EXPORT PART/EXPORT PARTITION matches destination columns to source columns by name instead of position, so the source table may have extra columns in any position and the columns may be reordered. (#2229 by @k-morozov) - Added experimental content-addressed storage (CAS) for MergeTree: a new
casmetadata storage type for object-storage disks that stores parts as content-hash-deduplicated blobs in a shared S3/GCS pool with manifests and refs, allowing multiple servers to share identical data without re-uploading it, replicate same-pool parts without transferring bytes, and reclaim unreferenced data with lease-coordinated garbage collection. IncludesSYSTEM CAS GC RUN / GC REBUILD / FSCK / DROP POOL MEMBER, system tablessystem.cas_log,system.cas_gc_log,system.cas_mounts, andclickhouse-diskscommandscas-inspect,cas-fsck,cas-gc-dryrun,cas-gc-rebuild,cas-drop-member. (#2159 by @filimonov)
Performance Improvements
- Reading a single large local Parquet file via
file()/Fileengine is now parallelised across multiple sources, each handling a subset of row groups. This eliminates aResize 1 → Nbottleneck in the pipeline and brings single-file ClickBench performance close to the partitioned variant — Q23 goes from ~1.4s to ~0.55s, Q22 from ~0.9s to ~0.48s, Q27 from ~1.6s to ~0.54s on 96 vCPUs (ClickHouse#104251 by @alexey-milovidov via #2148) - Parquet reader now fetches compressed chunks from storage far ahead of decoding. Compressed data is small, so many reads stay in flight while decoding catches up at its own pace — cold scans are no longer bottlenecked on storage latency (S3).
Read-ahead and decoding get separate memory and thread budgets, tunable viainput_format_parquet_prefetch_memory_fraction(0.6) andinput_format_parquet_decode_thread_fraction(0.375) (#2235 by @UnamedRus)
Improvements
- Add option to cache vended credentials for REST catalogs; add a setting
vended_credentials_cache_ttl(seconds). 300 by default. 0 means no caching (ClickHouse#107960 by @zvonand via #2156) - Allow export partition through different partition expressions as long as the destination expression does not repartition the data (#2253 by @arthurpassos)
Bug Fixes (user-visible misbehavior in an official stable release)
- Fixes
ALTER TABLE ... ADD COLUMN,DROP COLUMN,RENAME COLUMNandMODIFY COLUMNon Iceberg tables, which could fail against a REST catalog --DROP COLUMNof the most recently added column was rejected withInvalid last column ID, and anALTERthat the catalog had in fact applied could come back asColumn already existson retry.BoolandDecimal(P, S)columns can now be used inCREATE TABLEandALTER TABLE ... ADD COLUMN, and aDecimalprecision above the Iceberg limit of 38 is now refused up front. Dropping a column that the table's sort order or partition spec still references is now rejected, as the Iceberg specification requires. (#2157 by @subkanthi) - Fixed reading Iceberg v3 tables whose Parquet data files contain reserved row-lineage columns (such as
_row_id); the native Parquet reader no longer raisesICEBERG_SPECIFICATION_VIOLATIONfor reserved field ids that are not part of the table schema (ClickHouse#107377 by @gregakinman via #2198) - Fix wrong logic of MetadataStorageFromPlainObjectStorageTransaction::removeDirectory (ClickHouse#106281 by @RinChanNOWWW via #2199)
- Restrict local object access only for user files path (ClickHouse#111483 by @scanhex12 via #2199)
- Fixed
use_client_time_zonebeing ignored forDateTime/DateTime64string literals interpreted on the server (asynchronousINSERT,SELECTliterals). The client now propagates its local time zone assession_timezonewhenuse_client_time_zoneis enabled, so server-side parsing matches the synchronousINSERTpath (ClickHouse#109051 by @groeneai via #2208) - Added a check for the positions and names of columns that make up the partition key (including Tuple elements and nested Array/Map types) during ALTER TABLE ... EXPORT PART/PARTITION. (#2218 by @k-morozov)
- Fixed ALTERS for MergeTree tables for which the disk setting was specified (ClickHouse#109199 by @Michicosun via #2246)
And ALL features included in previous Antalya releases
Packages
Available for both AMD64 and Aarch64 from https://builds.altinity.cloud/#altinityantalya as either .deb, .rpm, or .tgz
Docker images
Available for both AMD64 and Aarch64: altinity/clickhouse-server:26.6.2.20001.altinityantalya
Full Changelog:
https://github.com/ClickHouse/ClickHouse/compare/v26.6.2.160-stable...Altinity:ClickHouse:v26.6.2.20001.altinityantalya?expand=1