这些设置可在 system.merge_tree_settings 中查看,由 ClickHouse 源代码自动生成。
always_fetch_merged_part
类型
Bool
默认值
0
如果为 true,此副本从不合并 parts,而是始终从其他副本下载已合并的 parts。
可能的值:
- true, false
always_fetch_mutated_part
类型
Bool
默认值
0
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.8 | 0 | 新增设置,使副本拉取已变更的 parts,而非在本地执行变更 |
如果为 true,此副本绝不会执行 MUTATE_PART 复制日志条目
(例如 ALTER TABLE ... UPDATE/DELETE 等常规变更) ,而是始终
从其他副本下载生成的已变更 parts。
至少必须有一个副本禁用此设置;否则变更 无法完成。
此设置不影响由轻量级更新创建的补丁分区片段:
在合并 parts 时,仍会在本地应用这些补丁分区片段。同时启用
always_fetch_merged_part,还可将合并 (包括应用补丁分区片段)
也卸载给其他副本。
由于此副本不执行变更,且变更失败状态
仅在各副本本地保存,因此在此副本上同步等待时,无法获知执行
变更的副本上发生的变更失败。因此,同步变更 (mutations_sync = 1
或 2) 以及修改数据的同步 ALTER 查询
(alter_sync = 1 或 2) 会在此类副本上被拒绝,并返回
SUPPORT_IS_DISABLED 错误,而不会进行在变更失败时可能
无限等待的操作。请使用 mutations_sync = 0 (alter_sync = 0) ,或在执行
变更的副本上发出这些查询。
可能的值:
- true、false