skip_unavailable_shards_mode 参数控制。
可选值:
- 1 — 启用跳过。 如果某个分片不可用,ClickHouse 会基于部分数据返回结果,且不会报告节点可用性问题。
- 0 — 禁用跳过。 如果某个分片不可用,ClickHouse 会抛出异常。
skip_unavailable_shards 时,会静默忽略来自远程分片的哪些异常。当 skip_unavailable_shards = 0 时,此设置不生效。
Possible values:
-
unavailable— 仅忽略与连接相关的错误。当 ClickHouse 无法连接到某个分片的任何副本,或无法通过 DNS 解析某个副本的主机名时,该分片会被视为不可用。 -
unavailable_or_table_missing— 除unavailable外,还会忽略由分片上缺少表或数据库导致的错误。这在集群内创建或删除表期间非常有用。这是默认值,并且与skip_unavailable_shards的历史行为一致:如果分片上的表不存在,也会将该分片视为不可用。 -
unavailable_or_exception_before_processing— 除unavailable外,还会忽略在分片向发起端返回任何数据块之前,从该分片收到的任何异常。如果异常是在分片已经返回部分数据之后到达的,则始终会再次抛出。请注意,“在返回任何数据之前”这一条件是在发起端检查的:如果某个分片执行阻塞式计算 (例如聚合、排序或LIMIT BY) ,它可能会在输出任何块之前先处理若干行并失败;在这种情况下,其部分工作会被静默丢弃,而查询会基于其余分片返回结果。因此,这是最宽松的模式,应谨慎使用。