Skip to content

Commit ed9bead

Browse files
author
Ignacio Van Droogenbroeck
committed
docs: add query timeout to release notes (PR #152)
Documents the new query.timeout configuration for preventing indefinite hangs during S3 disconnection.
1 parent 50bbb55 commit ed9bead

1 file changed

Lines changed: 26 additions & 1 deletion

File tree

RELEASE_NOTES_2026.02.1.md

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -503,6 +503,31 @@ recovery_batch_size = 10000 # Max records per recovery batch (default: 1000
503503

504504
*Contributed by [@khalid244](https://github.com/khalid244)*
505505

506+
### Query Timeout for S3 Disconnection (Issue #151, PR #152)
507+
508+
Added configurable query timeout to prevent indefinite hangs when S3 becomes unavailable during query execution.
509+
510+
**Problem:** When S3 connectivity was lost mid-query, DuckDB would hang waiting for its internal HTTP timeout (120+ seconds), causing queries to appear frozen and client connections to timeout unpredictably.
511+
512+
**Fix:** New `query.timeout` configuration with context-based cancellation:
513+
- All query endpoints (JSON, Arrow, Estimate) now respect the timeout
514+
- Returns HTTP 504 Gateway Timeout when exceeded
515+
- Profiled queries also support timeout via new `QueryWithProfileContext` method
516+
517+
**Configuration:**
518+
```toml
519+
[query]
520+
timeout = 300 # Query timeout in seconds (default: 300s, 0 = no timeout)
521+
```
522+
523+
**Environment variable:** `ARC_QUERY_TIMEOUT`
524+
525+
**New metric:** `arc_query_timeouts_total` - Counter of queries that exceeded the timeout
526+
527+
**Note:** The context cancellation signals the timeout but doesn't immediately stop DuckDB's internal HTTP operations. The query will return 504 to the client while DuckDB completes in the background.
528+
529+
*Contributed by [@khalid244](https://github.com/khalid244)*
530+
506531
## Improvements
507532

508533
### Configurable Server Idle and Shutdown Timeouts
@@ -1099,7 +1124,7 @@ None
10991124
Thanks to the following contributors for this release:
11001125

11011126
- [@schotime](https://github.com/schotime) (Adam Schroder) - Data-time partitioning, compaction API triggers, UTC fixes, Azure SSL certificate fix
1102-
- [@khalid244](https://github.com/khalid244) - Multi-line WHERE clause regex fix (Issue #146, PR #148), S3 day-level file verification (Issue #144, PR #145), S3 file caching (PR #149), Manifest-based compaction recovery (Issue #157, PR #163), WAL-based S3 recovery (Issue #159, PR #162)
1127+
- [@khalid244](https://github.com/khalid244) - Multi-line WHERE clause regex fix (Issue #146, PR #148), S3 day-level file verification (Issue #144, PR #145), S3 file caching (PR #149), Manifest-based compaction recovery (Issue #157, PR #163), WAL-based S3 recovery (Issue #159, PR #162), Query timeout for S3 disconnection (Issue #151, PR #152)
11031128

11041129
## Dependencies
11051130

0 commit comments

Comments
 (0)