Skip to content

flake: TestCircuitBreaker_FullRecoveryCycle/OpenAI #1579

@flake-investigator

Description

@flake-investigator

CI Failure Details

CI Run: https://github.com/coder/coder/actions/runs/27396892529
Failed Job: https://github.com/coder/coder/actions/runs/27396892529/job/80965972220 (test-go-pg (macos-latest))
Commit: b1c6010eb91c026f69bf9510812467fe7489208f (Ethan)
Date: 2026-06-12

Failing Test

aibridge/internal/integrationtestTestCircuitBreaker_FullRecoveryCycle/OpenAI

Error Output

error= openai API error:
    github.com/coder/coder/v2/aibridge/intercept/chatcompletions.(*BlockingInterception).ProcessRequest
        /Users/runner/work/coder/coder/aibridge/intercept/chatcompletions/blocking.go:244
  - POST "http://127.0.0.1:50463/chat/completions": 503 Service Unavailable {"message":"Service Unavailable.","type":"cf_service_unavailable","code":503}
...
Error: Not equal:
    expected: 2
    actual  : 3
Test: TestCircuitBreaker_FullRecoveryCycle/OpenAI
Messages: No new upstream call when circuit is open
...
Error: Not equal:
    expected: 1
    actual  : 2
Messages: CircuitBreakerTrips should be 1
Error: Not equal:
    expected: 1
    actual  : 0
Messages: CircuitBreakerRejects should be 1

Error Analysis

The circuit breaker should reject requests once open, but the test observed an extra upstream call and mismatched metrics (trips/rejects). The mock upstream returned 503 as expected, yet the breaker allowed another request through.

Root Cause Assessment

Flaky test / circuit breaker timing. The breaker state appears to transition later than the test expects, allowing a request after the circuit should be open.

Race/Panic/OOM Evidence

No "WARNING: DATA RACE", "panic:", or OOM indicators found in the logs.

Assignment Analysis

git blame -L 158,176 aibridge/internal/integrationtest/circuit_breaker_internal_test.go
# dbb50eba feat: remove 429 from aibridge circuit breaker failure conditions (Susana Ferreira)

Assigning to @ssncferreira as the most recent substantive modifier of the failing test assertions.

Related Issues

Reproduction

go test ./aibridge/internal/integrationtest -run TestCircuitBreaker_FullRecoveryCycle/OpenAI -count=1

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions