ClickHouse / ClickHouse/clickhouse-java

Progress Header Support

オープン
#3,080 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Java
スター
1.6k
フォーク
636
平均マージ
2日 23時間
マージ済み PR(30日)
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 ヘッダーを繰り返し含む長いクエリを再現します。ヘッダー数の上限で失敗するのではなく、レスポンスが正常に解析されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
api
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
55/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。