PR #3073 (0.9.9 patch) never forward-ported the 159 retryable again and setQueryTimeout does not set max_execution_time on main/0.10.0

オープン
#3,136 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
55/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
java
領域
backend, databases

調査の方向性

Start by comparing ServerException.discoverIsRetryable() and Statement.setQueryTimeout() on main with their v0.9.9 behavior. Reproduce a query exceeding max_execution_time and inspect system.query_log; done means timeout code 159 is not retried and setQueryTimeout also applies the server-side limit.

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

説明

Description

PR #3073 ("Makes 159 Execution Timeout not retriable & make setQueryTimeout set proper setting"),
which closed #3074 the 0.9.9 patch tracking issue for #2637, was merged with base v0.9.9,
not main. It was never forward-ported, so both of its fixes are absent from v0.10.0 and from
main today (@ a7fd189c):

1. 159 TIMEOUT_EXCEEDED is retryable again. ServerException.discoverIsRetryable():

ref case 159: present
v0.9.8 yes
v0.9.9 no (fixed by 9378ba09f2)
v0.10.0 yes
main @ a7fd189c yes (line 62)

2. Statement.setQueryTimeout() still does not set max_execution_time. On main,
queryTimeout is used only as a client-side future.get(timeout, SECONDS) — the client stops
waiting but the server keeps executing the query. v0.9.9 additionally sets the server setting.
This is the original symptom reported in #2637, which is still open.

Steps to reproduce
  1. Set max_execution_time low on the user's settings profile (e.g. 30s), or call
    setQueryTimeout() on 0.9.9 where it maps to that setting.
  2. Execute a query that reliably exceeds it.
  3. Observe the client re-executing the identical query up to retry times — one
    WARN ... Retrying. per attempt. In system.query_log the same query text appears N+1 times,
    each ending in ExceptionWhileProcessing with exception_code = 159.
Environment
  • Cloud
  • Client version: 0.9.8 (also reproduces on v0.10.0 and main @ a7fd189c; fixed only on v0.9.9)
  • Language version: Java 21 (Temurin 21.0.6)
  • OS: Linux (container)
主要言語
Java
スター
1.6k
フォーク
637
平均マージ
2日 12時間
マージ済み PR(30日)
28

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

ClickHouse/clickhouse-java のほかの issue

ClickHouse/clickhouse-java の issue をすべて見る

似ている issue

Java の issue をもっと見る

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

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