ClickHouse v24.6.4.42-stable 补丁发布解析:16 项 Bug 修复及其源码佐证

发布时间:2026/11/11 19:58:44

ClickHouse v24.6.4.42-stable 补丁发布解析:16 项 Bug 修复及其源码佐证 ClickHouse v24.6.4.42-stable 补丁发布解析16 项 Bug 修复及其源码佐证【免费下载链接】ClickHouseClickHouse® is a real-time analytics database management system项目地址: https://gitcode.com/GitHub_Trending/cli/ClickHouse本文基于 ClickHouse 仓库中 v24.6.4.42-stable 的官方 Changelog逐项解读这个 24.6 分支补丁版本相对 v24.6.3.95-stable 修复的 16 个用户可见缺陷与 3 项次要变更并结合仓库源码定位关键修复点时间窗口函数、Variant 列、SIPHash 系列哈希函数等帮助运维与开发者评估是否升级、升级后应如何验证。版本定位与 Changelog 结构该版本的完整标题为ClickHouse release v24.6.4.42-stable (c534bb4b4dd) FIXME as compared to v24.6.3.95-stable (8325c920d11)从版本号可以读出 ClickHouse 的语义化版本规则24.6是年份2024 月份6 月组成的分支版本4是第 4 个补丁42是补丁构建序号括号内c534bb4b4dd是本版本对应的 Git 提交短哈希8325c920d11是其比较基线 v24.6.3.95-stable 的提交哈希。24.6 分支属于稳定分支后续只接收 backport回合的修复不引入新功能。本版本文档v24.6.4.42-stable.md由两个章节组成Bug Fixuser-visible misbehavior in an official stable release正式稳定版中用户可见行为的错误修复共 16 条NOT FOR CHANGELOG / INSIGNIFICANT不影响最终用户、不对外的内部变更共 3 条。每一条修复都带有 Backported in #issue 前缀和对应的 PR 编号及作者说明它来自 master 分支的某个修复被回合backport到了 24.6 release 分支。同分支的前后版本v24.6.3.95-stable.md 与 v24.6.5.30-stable.md可用于串联该分支的完整修复时间线。SQL 语义与执行计划类修复1. 外部数据库查询中的布尔字面量PR #66282修复发往外部数据库如PostgreSQL引擎的查询中布尔字面量的翻译问题。ClickHouse 的布尔字面量true/false在跨库查询postgres()表函数等下发前需要做方言转换此前转换逻辑存在缺陷导致外部库收到的字面量不正确。2.count()在非确定性谓词下结果错误PR #67922当谓词WHERE 条件中包含非确定性函数时count()可能返回错误结果。这类问题通常与谓词下推、常量折叠时把非确定性函数当作可提前求值的表达式处理有关——修复保证了优化器不再对含非确定性函数的谓词做错误的提前求值或改写。3. 移除针对含OFFSET子查询的错误排序消除优化PR #68099修复 #67906优化器原先有一条移除子查询中排序的优化但它没有正确处理子查询中带OFFSET的场景导致返回的行不符合 LIMIT/OFFSET 语义。本版本直接移除了这条不正确的优化属于典型的宁可少优化、不可算错结果的取舍。4.indexHint函数边界用例PR #66286indexHint是用于提示存储引擎使用哪个二级索引的函数该问题由 fuzzer 自动发现属于输入解析层面的边界修复。崩溃与稳定性修复含源码佐证5. 时间窗口边界函数空指针解引用PR #68098一个经过特制的查询可以通过hopEnd、hopStart、tumbleEnd、tumbleStart四个函数触发 NULL 指针解引用并导致服务端崩溃。这四个函数都是时间窗口滑动窗口/翻滚窗口的边界计算函数其实现位于 src/Functions/FunctionsTimeWindow.cpp。从源码结构看该文件在入口处通过dispatchForIntervalColumns校验 interval 列是否为常量 Int64 且必须为正数通过executeWindowBound校验第一个参数必须是Tuple(DateTime, DateTime)类型——PR #68098 正是补全了这条校验链上导致空指针访问的分支。这类修复对暴露 HTTP 接口的 ClickHouse 实例尤为重要修复前任何能提交查询的用户都可能使进程退出。6. SIPHash 系列函数对空数组/空元组报LOGICAL_ERRORPR #68630sipHash64Keyed、sipHash128Keyed、sipHash128ReferenceKeyed作用于空数组[]或空元组()时会抛出LOGICAL_ERROR而非按预期返回常量结果。该系列的实现位于 src/Functions/FunctionsHashingMisc.cpp。修复后这些调用退化为对空输入的常量哈希符合 ClickHouse 向量函数对空容器返回单元素常量列的常规行为约定。存储读取与 DDL 校验类修复7. Variant 子列读取时的PARAMETER_OUT_OF_BOUND误报PR #66659读取 Variant 类型的子列时可能触发本不该发生的PARAMETER_OUT_OF_BOUND错误。Variant 列的底层实现是 src/Columns/ColumnVariant.cpp其中insertRangeFrom方法在参数越界时会抛出该错误见 ColumnVariant.cpp 第 533 行该 PR 修正了读取 Variant 子列时传入该方法的区间参数计算消除误报。8. 非归档文件名/URI 中含::的解析PR #67433文件路径或远端 URI如 S3 地址中包含::时只要它不是归档archive现在能被正确解析。此前::是归档内文件语法的分隔符未加甄别地应用于非归档路径会导致读取失败。9. 新分析器下 mutation 未跳过无关 partPR #68052启用新查询分析器analyzer后mutationALTER TABLE ... UPDATE/DELETE类后台重写操作本应根据谓词跳过不受影响的 part但实际却把不受影响的 part 也重写了白白消耗磁盘 IO 和 CPU。修复恢复了跳过未触及 part的行为。10.ALTER ADD/MODIFY COLUMN校验实验性/可疑类型PR #67911现在对 ALTER 新增或修改列时出现的实验性experimental或标记为可疑的数据类型会进行显式校验避免把未成熟类型固化进表结构后引发难以回滚的问题。接口、集群与副本同步类修复11. HTTP 接口向流引擎Kafka/RabbitMQ/NATS写入PR #67554修复通过 HTTP 接口向 Kafka、RabbitMQ、NATS 这类流式只读消费引擎执行 INSERT 的问题。这类引擎表是数据源而非数据目标此前经由 HTTP 接口插入时的行为不正确修复使其按预期被拒绝或正确处理。12.cluster()函数与 inter-server secret 的交互PR #66364配置了interserver_credentialsinter-server secret后cluster()表函数展开远程查询时对远端节点的认证方式会改变。该修复保留原有行为以初始用户身份连接远端节点避免该配置项悄然改变cluster()查询的认证语义。13.SYSTEM SYNC REPLICA缺少 sync 模式PR #68326修复 #68396SYSTEM SYNC REPLICA命令用于手动触发 Replicated 表引擎副本追赶最新数据此前该命令缺少同步sync模式的支持现在补齐。14. PostgreSQL 外部库查询被取消时的崩溃PR #68288当指向外部 PostgreSQL 的查询被取消客户端断开、超时等时ClickHouse 侧对底层 PostgreSQL 库的错误处理存在竞态可能触发崩溃本版本尝试修复了该路径。15. 容器环境下最大线程软限计算错误PR #67963修复了在可用 CPU 数量受限的容器化环境如设置了cpulimit 的 Docker/K8s Pod中计算最大线程数软限max thread soft limit时未正确读取 cgroup/CPU 配额的问题。此前 ClickHouse 在受限容器内可能按宿主机核数派生线程数导致过度超卖修复后线程预算与实际可用 CPU 匹配。16.ReplaceTableNodeToDummyVisitor遍历未解析的表函数参数PR #67522修复 #66026优化器改写阶段的ReplaceTableNodeToDummyVisitor会对未解析的表函数参数做遍历存在越界/误处理风险该 PR 避免了对这类参数的遍历消除了相关异常路径。NOT FOR CHANGELOG内部变更以下三项不影响最终用户行为列出于此以保证变更可追溯发布后版本号自增PR #67909release 流程由机器人自动完成属于常规发版动作ALTER MODIFY SQL SECURITY作用于非视图表时报显式错误PR #67953把原先的含糊失败改为明确的报错信息便于用户发现误用补丁发布流程调整PR #68750为了支持从 release 分支任意提交直接打补丁版本package_debug构建不再可跳过这是发布工程侧的 CI 调整。升级与验证建议适用前提本版本仅包含修复无新特性面向需要 24.6 稳定分支的用户从 v24.6.3.x 升级到 v24.6.4.42 是纯补丁升级不涉及数据格式不兼容变更。验证方式升级后可用clickhouse-server --version或查询SELECT version()确认构建号是否含42对照括号中的提交短哈希c534bb4b4dd可进一步核对二进制与发布物的对应关系。重点关注场景如果你的部署涉及a对外的 HTTP 查询接口且使用过hopEnd/tumbleEnd等窗口函数、b容器化限 CPU 部署、cReplicated 表引擎 定期SYSTEM SYNC REPLICA、dS3/远端文件路径中带::的读取本版本的对应修复与你直接相关。完整时间线24.6 分支上 v24.6.4.42 之前是 v24.6.3.95-stable.md之后是 v24.6.5.30-stable.md三者共同构成该分支从 v24.6.3 到 v24.6.5 的完整修复记录。【免费下载链接】ClickHouseClickHouse® is a real-time analytics database management system项目地址: https://gitcode.com/GitHub_Trending/cli/ClickHouse创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/2 8:39:04

SSM与Spring Boot架构对比及技术演进解析

1. SSM与Spring Boot的技术定位解析在Java企业级开发领域,SSM(Spring Spring MVC MyBatis)和Spring Boot都是基于Spring生态的核心技术栈。作为从传统SSM架构过渡到Spring Boot的实践者,我认为理解二者的关系需要从技术演进的视…

2026/11/11 19:56:12

考电工证可以不培训吗实操考试考什么

电工证可以不培训吗?真实经历告诉你怎么避坑 你是不是也这样,想考个电工证,但又担心去哪报名、怕被中介坑?其实很多人在报名前都有这种顾虑,特别是第一次接触特种作业证的小伙伴。今天我就用自己在许昌市政公用工程行业的工作经验,告诉你考电工证可以不…

2026/11/11 19:56:12

电工证原件怎么查询怎么报名别被中介坑了

电工证原件怎么查询怎么报名别被中介坑了 你是不是也在纠结 电工证原件怎么查询 ,又担心 怎么报名 会被骗?特别是像郑州金水区这些建筑工地上的工人,每天都在和电力打交道,但对电工证的流程却一头雾水。别急,今天我就从一个从业多年的角度,给你讲讲…

2026/11/11 19:56:12

泉州宝山特种工培训怎么报名?证书过期了不知道怎么复审延期怎么办

泉州宝山特种工培训怎么报名?证书过期了不知道怎么复审延期怎么办 证书过期了不知道怎么复审延期,这个问题很多特种作业人员都遇到过。特别是在泉州宝山地区,很多从事高压电工、低压电工、焊工、高处作业等特种作业的人员,一旦错过复审时间,不仅影响日常…

2026/11/11 19:56:12

淄川电工证考试能转回来吗?全国通用的电工证怎么考

淄川电工证考试能转回来吗?全国通用的电工证怎么考 之前考的证在外省能不能转过来?你是不是也有这样的疑问?现在市面上电工证种类繁多,很多地方的考试标准不一,但 全国通用 的电工证才是真正有含金量的。尤其是像 淄川电工证考试…

2026/11/11 19:56:12

安顺高压电工证办证怎么报名不被坑?官方报名入口全攻略

安顺高压电工证办证怎么报名不被坑?官方报名入口全攻略 不知道去哪报名怕被中介坑?你不是一个人。很多安顺的朋友在报考高压电工证的时候,总是被各种培训机构、线上平台搞得晕头转向,担心被多收费、拿不到证、考试不过。其实, 官方报名入口…

2026/11/11 19:51:11

浦口区考电工证怎么选培训机构?上岗必备全流程解析

浦口区考电工证怎么选培训机构?上岗必备全流程解析 之前考的证在外省能不能转过来?这可能是你最关心的问题。特别是如果你已经在浦口区工作,但之前在别的地方考的电工证,现在面临上岗必备的硬性要求,就不得不考虑证书的跨省转移问题。其实,不少人在换工…

2026/11/11 12:42:59

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/11 0:02:26

考低压电工证通过率考试真题与备考技巧

低压电工证通过率高不高?学历不高也能考,值不值得考? 你是不是总听说电工证能帮你找高薪工作,但又担心自己学历不够,考不上?其实,低压电工证考试门槛并没有你想象中那么高,关键是方法对不对。这篇文章就告诉你, 考低压电工证通过率到底有多高 ,…

2026/11/11 0:02:26

低压电工证学时千万别踩坑,濮阳毕业生怎么避坑报名

低压电工证学时千万别踩坑,濮阳毕业生怎么避坑报名 你是不是也和我一样,刚毕业就听说低压电工证学时必须达标才能上岗?可一打听,发现报名机构五花八门,价格参差不齐, 不知道去哪报名怕被中介坑…

2026/11/10 20:08:15

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/10 10:29:37

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑