ClickHouse / ClickHouse/clickhouse-java

Progress Header Support

未关闭
#3,080 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。