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
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 55/100
Research direction
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.
Written by the indexing model from the issue text.
Description
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
- Set
max_execution_timelow on the user's settings profile (e.g. 30s), or call
setQueryTimeout()on 0.9.9 where it maps to that setting. - Execute a query that reliably exceeds it.
- Observe the client re-executing the identical query up to
retrytimes — one
WARN ... Retrying.per attempt. Insystem.query_logthe same query text appears N+1 times,
each ending inExceptionWhileProcessingwithexception_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)
- Dominant language
- Java
- Stars
- 1.6k
- Forks
- 637
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 28
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ClickHouse/clickhouse-java
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
ClickHouse/clickhouse-java#3143 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
ClickHouse/clickhouse-java#3111 ·
-
area:data-type bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
ClickHouse/clickhouse-java#3098 · 1 comment ·
-
bug client-api-v2 test
Difficulty 2/5 1-3 hours Newbie friendliness 92/100
ClickHouse/clickhouse-java#3076 ·
-
area:sql-parser bug client-v1
Difficulty 1/5 1-3 hours Newbie friendliness 92/100
ClickHouse/clickhouse-java#3066 ·
All issues in ClickHouse/clickhouse-java
Similar issues
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 90/100
apache/cloudstack#14222 ·
-
[BUG]茶杯方块在取茶时会引发崩溃 Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
1.0.0-alpha2 Type/Improvement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
wso2/dpdp-accelerator#272 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
infinispan/infinispan#18150 ·
-
area/frontend
Difficulty 2/5 1-3 hours Newbie friendliness 65/100