[client-v2, jdbc-v2] Make execution TIMEOUT error optionally retriable
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
Línea de trabajo
Empieza rastreando el manejo de TIMEOUT_EXCEEDED en client-v2 y jdbc-v2, especialmente cómo se reintenta actualmente el fallo 159. Compara el manejo de operaciones para SELECT, INSERT y DDL o mutaciones, y determina después dónde debe ubicarse la selección de reintentos por operación. Se considera terminado cuando el comportamiento de reintento tras un timeout puede diferir según la operación y refleja las distinciones de seguridad descritas en la tabla.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
Current 159, TIMEOUT_EXCEEDED is retried unconditionally. It should be a dedicated failure cause selectable per operation because different queries need different behavior:
| Query Type | Scenario | Retriable? | Recommended Action |
|---|---|---|---|
SELECT |
Pure read operations | Yes | Retry with exponential backoff or redirect to a replica node. |
SELECT |
Heavy unoptimized query hitting max_execution_time |
No | Do not retry under identical settings. Increase max_execution_time or rewrite query. |
INSERT |
MergeTree tables with deduplication active (insert_deduplicate = 1) |
Yes | Safe to retry using the exact same data block structure. |
INSERT |
Tables without block deduplication | No | Unsafe. Partial blocks may have been written; retrying risks duplicate rows. Check table state first. |
DDL / Mutations |
ALTER, OPTIMIZE, or background mutations |
No | Inspect system tables (system.mutations, system.merges) before re-executing. |
- Lenguaje dominante
- Java
- Estrellas
- 1.6k
- Forks
- 637
- Merge medio
- 2 d 12 h
- PR fusionados (30 d)
- 28
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de ClickHouse/clickhouse-java
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
ClickHouse/clickhouse-java#3143 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
ClickHouse/clickhouse-java#3111 ·
-
area:data-type bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
ClickHouse/clickhouse-java#3098 · 1 comentario ·
-
bug client-api-v2 test
Dificultad 2/5 1-3 horas Aptitud para principiantes 92/100
ClickHouse/clickhouse-java#3076 ·
-
area:sql-parser bug client-v1
Dificultad 1/5 1-3 horas Aptitud para principiantes 92/100
ClickHouse/clickhouse-java#3066 ·
Todos los issues de ClickHouse/clickhouse-java
Issues similares
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
apache/cloudstack#14222 ·
-
[BUG]茶杯方块在取茶时会引发崩溃 Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
Cannot differ own consent and managed consents in My Consents view and detailed consent view. Abierto1.0.0-alpha2 Type/Improvement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
wso2/dpdp-accelerator#272 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
infinispan/infinispan#18150 ·
-
area/frontend
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100