ClickHouse / ClickHouse/clickhouse-cpp
Automatic reconnect ignores settings applied for the connection
- 主要言語
- C
- スター
- 382
- フォーク
- 209
- 平均マージ
- 2日 19時間
- マージ済み PR(30日)
- 14
説明
`Client::Impl::RetryGuard` performs automatic connection resets so the application code doesn't have a chance to restore expected connection settings applied before executing the current request.
For example, `SET mutations_sync=2`, automatic reconnect, `ALTER TABLE` sequence causes mutations to be executed asynchronously when the application assumes synchronous execution of the mutation.
It looks like connection settings should be stored in the Client::Impl and they should be re-applied in case of such reconnect before executing the client query.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
Client::Impl::RetryGuard と Client::Impl から始めて、現在のクライアントクエリの前に自動的な接続リセットがどのように発生するかを追跡します。SET mutations_sync=2 のような接続設定が、再接続後にどのように保持され、再適用されるかを確認します。クエリが続行される前に設定が復元され、説明されている ALTER TABLE のシナリオも含まれる状態になれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- cpp
- 領域
- databases
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100