ClickHouse / ClickHouse/clickhouse-java
Progress Header Support
- 主要语言
- Java
- 星标
- 1.6k
- 派生
- 636
- 平均合并
- 2 天 23 小时
- 30 天内合并 PR
- 29
描述
### Description
Support multiple `X-ClickHouse-Progress` for tracking progress.
**Note**:
Bumping httpclient5 to 5.6.4 also pulls httpcore5 5.4.3, which defaults incoming HTTP/1 messages to 100 headers and an 8192-byte line length (https://github.com/advisories/GHSA-hf6x-8p5f-cgmf). Both HTTP stacks build Http1Config with only a buffer size and pass DefaultHttpResponseParserFactory.INSTANCE, so those new limits apply. ClickHouse send_progress_in_http_headers can emit a new X-ClickHouse-Progress header every http_headers_progress_interval_ms (default 100ms), and queryAll/queryRecords force wait_end_of_query, so a long query can exceed 100 headers and fail at parse time instead of returning a result or server error.
贡献指南
调研方向
从 queryAll 和 queryRecords 使用的 HTTP/1 响应解析器配置入手,包括 Http1Config 和 DefaultHttpResponseParserFactory,并检查 httpclient5/httpcore5 的升级行为。复现一个包含重复 X-ClickHouse-Progress header 的长查询;当响应能够成功解析,而不是因达到 header 限制而失败时,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java
- 领域
- api
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 活跃
- 描述清晰度
- 基本清楚
- 新手友好度
- 55/100