Skip to content

Auction timeout config not enforced by orchestrator wait logic #405

@aram356

Description

@aram356

Summary

settings.auction.timeout_ms is passed to AuctionContext but the orchestrator uses select() which blocks until each pending request completes or hits the backend's first_byte_timeout (15s). There is no mechanism to abort remaining requests when the auction timeout is reached. Waits can extend to backend timeouts.

Refs

  • crates/common/src/auction/endpoints.rs line 51 — timeout_ms: settings.auction.timeout_ms
  • crates/common/src/auction/provider.rs line 54 — fn timeout_ms(&self) -> u32
  • crates/common/src/auction/orchestrator.rs line 287 — while !remaining.is_empty() { select(remaining) }
  • crates/common/src/backend.rs lines 118-119 — hardcoded 15s first_byte_timeout

Recommendation

Implement a deadline-based loop that drops remaining pending requests when timeout_ms elapses, returning partial results.

Context

Production readiness audit — see #396

Metadata

Metadata

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions