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

Abierto
#3,136 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
55/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
java

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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)
Lenguaje dominante
Java
Estrellas
1.6k
Forks
637
Merge medio
2 d 12 h
PR fusionados (30 d)
28

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de ClickHouse/clickhouse-java

Todos los issues de ClickHouse/clickhouse-java

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.