docs(http_client): add comprehensive timeout hierarchy documentation#86
Closed
docs(http_client): add comprehensive timeout hierarchy documentation#86
Conversation
Greptile OverviewGreptile SummaryThis PR adds comprehensive documentation to the HTTP client timeout constants in Key Improvements:
The documentation correctly describes the existing timeout values and their purposes. The PR addresses a legitimate maintenance concern about scattered timeout constants across the codebase (verified in files like Confidence Score: 5/5
|
| Filename | Overview |
|---|---|
| src/cortex-common/src/http_client.rs | Added comprehensive timeout hierarchy documentation with clear naming conventions and usage guidelines |
Sequence Diagram
sequenceDiagram
participant Dev as Developer
participant Module as Other Module
participant HC as http_client.rs
participant Client as HTTP Client
Note over HC: Timeout Constants Defined
Note over HC: DEFAULT_TIMEOUT (30s)
Note over HC: STREAMING_TIMEOUT (5m)
Note over HC: HEALTH_CHECK_TIMEOUT (5s)
Note over HC: POOL_IDLE_TIMEOUT (60s)
Dev->>Module: Implement HTTP request
Module->>HC: Import timeout constant
HC-->>Module: Provides Duration constant
Module->>HC: Call create_*_client()
HC->>Client: Configure with timeout
Client-->>Module: Returns configured client
Module->>Client: Make HTTP request
Client-->>Module: Response (within timeout)
Contributor
Author
|
Closing to consolidate: This timeout documentation will be merged with PR #49 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
Adds comprehensive documentation to the HTTP client timeout constants establishing naming conventions and hierarchy for timeout configuration across the codebase.
Problem
Timeout constants are scattered across multiple modules with inconsistent naming:
Changes
Testing
Verification