ClickHouse/ClickHouse

Allow partial response

已关闭

#79,014 创建于 2025年4月11日

 (5 条评论) (2 个反应) (0 位负责人)C++ (8,400 个派生)batch import
featurehelp wanted

仓库指标

星标
 (47,419 个星标)
PR 合并指标
 (平均合并 2天 2小时) (30 天内合并 1,000 个 PR)

描述

Company or project name

N/A

Use case

In ClickHouse clusters operating without replicas, individual shards may become unavailable or overloaded, potentially causing distributed queries to fail when encountering compromised nodes.

The current implementation provides the skip_unavailable_shards configuration parameter to silently exclude non-responsive shards from query execution. However, this mechanism lacks the capability to handle other types of shard-level errors such as TOO_MANY_SIMULTANEOUS_QUERIES, which typically indicates temporary resource constraints.

This limitation becomes particularly relevant in logging implementations and other time-series use cases where system resilience benefits from gracefully ignoring transient node failures. A more comprehensive error-handling approach could improve query continuity while maintaining data consistency across operational shards.

Describe the solution you'd like

Introduce a configuration parameter skip_failed_shards_mode (disabled by default) to enable granular control over error handling in distributed queries. This parameter accepts a comma-separated list of error codes that should be non-fatally ignored during query execution.

e.g. skip_failed_shards_mode=TOO_MANY_SIMULTANEOUS_QUERIES,MEMORY_LIMIT_EXCEEDED

Describe alternatives you've considered

No response

Additional context

No response

贡献者指南