这些设置可在 system.settings 中查看,并由 源代码 自动生成。
insert_keeper_fault_injection_probability
插入期间 Keeper 请求发生故障的大致概率。有效值范围为 [0.0f, 1.0f]
insert_keeper_fault_injection_seed
0 - 使用随机种子,否则使用该设置的值
insert_keeper_max_retries
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 23.2 | 20 | 在向 replicated MergeTree 执行 INSERT 时启用与 Keeper 的重新连接,提高可靠性 |
该设置用于指定在向 replicated MergeTree 执行 INSERT 期间,ClickHouse Keeper (或 ZooKeeper) 请求的最大重试次数。只有因网络错误、Keeper 会话超时或请求超时而失败的 Keeper 请求才会被重试。
可能的值:
- 正整数。
- 0 — 禁用重试
Keeper 请求会在经过一段超时时间后重试。该超时时间由以下设置控制:insert_keeper_retry_initial_backoff_ms、insert_keeper_retry_max_backoff_ms。
第一次重试会在 insert_keeper_retry_initial_backoff_ms 指定的超时时间后进行。后续超时时间将按如下方式计算:
timeout = min(insert_keeper_retry_max_backoff_ms, latest_timeout * 2)例如,如果 insert_keeper_retry_initial_backoff_ms=100、insert_keeper_retry_max_backoff_ms=10000 且 insert_keeper_max_retries=8,那么超时时间将分别为 100, 200, 400, 800, 1600, 3200, 6400, 10000。
除了容错之外,这些重试也是为了提供更好的用户体验——例如,如果 Keeper 因升级而重启,它们可以避免在执行 INSERT 期间返回错误。
insert_keeper_retry_initial_backoff_ms
在 INSERT 查询执行期间,重试失败的 Keeper 请求时的初始超时时间 (以毫秒为单位)
可能的值:
- 正整数。
- 0 — 无超时限制
insert_keeper_retry_max_backoff_ms
在 INSERT 查询执行期间,重试失败的 Keeper 请求时的最大超时时间 (毫秒)
可能的值:
- 正整数。
- 0 — 最大超时时间不受限制