docs: Add comprehensive timeout configuration documentation#49
Closed
docs: Add comprehensive timeout configuration documentation#49
Conversation
Greptile OverviewGreptile SummaryThis PR adds comprehensive documentation for timeout configuration across the Cortex codebase. The changes are purely documentation-focused with some dead code cleanup. Documentation additions:
Code cleanup (unrelated to docs):
The documentation follows a clear hierarchy from shortest (health checks: 5s) to longest (full exec session: 600s), with proper rationale for each timeout value. Confidence Score: 5/5
|
| Filename | Overview |
|---|---|
| src/cortex-common/src/http_client.rs | Added comprehensive timeout hierarchy documentation as module-level doc comments |
| src/cortex-exec/src/runner.rs | Enhanced timeout constant documentation with cross-references to central docs |
| src/cortex-app-server/src/config.rs | Added cross-references to timeout hierarchy documentation in config fields |
Sequence Diagram
sequenceDiagram
participant User
participant Server as cortex-app-server<br/>(request_timeout: 300s)
participant Runner as cortex-exec<br/>(session timeout: 600s)
participant HTTPClient as cortex-common<br/>http_client
participant LLM as LLM API
Note over User,LLM: Timeout Hierarchy in Action
User->>Server: HTTP Request
activate Server
Note right of Server: request_timeout: 300s<br/>Full lifecycle limit
Server->>Runner: Execute Task
activate Runner
Note right of Runner: DEFAULT_TIMEOUT_SECS: 600s<br/>Multi-turn session limit
Runner->>HTTPClient: create_streaming_client()
Note right of HTTPClient: STREAMING_TIMEOUT: 300s
Runner->>LLM: LLM Request (via HTTPClient)
activate LLM
Note right of Runner: DEFAULT_REQUEST_TIMEOUT_SECS: 120s<br/>Single request timeout
LLM-->>Runner: Streaming Response
Note right of Server: read_timeout: 30s<br/>Per-chunk timeout
deactivate LLM
Runner-->>Server: Result
deactivate Runner
Server-->>User: HTTP Response
deactivate Server
Note over User,LLM: Health Check Flow (Fast Path)
User->>HTTPClient: Health Check
activate HTTPClient
Note right of HTTPClient: HEALTH_CHECK_TIMEOUT: 5s<br/>Quick validation
HTTPClient-->>User: Health Status
deactivate HTTPClient
Contributor
Author
|
Closing to consolidate: This timeout documentation will be merged with PR #86 into a consolidated documentation PR for timeout configuration. |
echobt
added a commit
that referenced
this pull request
Feb 4, 2026
## Summary This PR consolidates **2 documentation PRs** for timeout configuration. ### Included PRs: - #49: Add comprehensive timeout configuration documentation - #86: Add comprehensive timeout hierarchy documentation to HTTP client ### Key Changes: - Added detailed header documentation explaining the timeout hierarchy - Documented each timeout constant with its purpose and use case - Established naming conventions for constants vs config fields - Added timeout hierarchy table for quick reference ### Timeout Hierarchy | Use Case | Module | Constant | Value | Rationale | |-----------------------------|-----------------------------|-----------------------------|-------|-----------| | Health checks | cortex-common/http_client | HEALTH_CHECK_TIMEOUT | 5s | Quick validation | | Standard HTTP requests | cortex-common/http_client | DEFAULT_TIMEOUT | 30s | Normal API calls | | Connection pool idle | cortex-common/http_client | POOL_IDLE_TIMEOUT | 60s | DNS refresh | | LLM Request (non-streaming) | cortex-exec/runner | DEFAULT_REQUEST_TIMEOUT_SECS| 120s | Model inference | | LLM Streaming total | cortex-common/http_client | STREAMING_TIMEOUT | 300s | Long-running streams | | Server request lifecycle | cortex-app-server/config | request_timeout | 300s | Full request handling | | Per-chunk reads | cortex-app-server/config | read_timeout | 30s | Chunk timeout | | Graceful shutdown | cortex-app-server/config | shutdown_timeout | 30s | Time for cleanup | | Entire execution | cortex-exec/runner | DEFAULT_TIMEOUT_SECS | 600s | Headless exec limit | ### Files Modified: - src/cortex-common/src/http_client.rs - src/cortex-app-server/src/config.rs - src/cortex-exec/src/runner.rs Closes #49, #86
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds comprehensive documentation for timeout configuration across the Cortex codebase. It documents the timeout hierarchy, explains when each timeout applies, and provides guidance on which constants to use for consistency.
Changes
Timeout Hierarchy
Verification