Skip to content

flake: chatd subscribe/promote queued (multiple variants) #1428

@flake-investigator

Description

@flake-investigator

CI Run: https://github.com/coder/coder/actions/runs/23692597425
Failed Jobs: test-go-pg-17, test-go-pg (ubuntu-latest)
Commit: 386b44927385e74b71c5f8491699c66a7c8f3c11 (author: Kyle Carberry)

Failures (from job logs):

=== FAIL: coderd/x/chatd TestSubscribeNoPubsubNoDuplicateMessageParts (0.46s)
    chatd_test.go:1731:
        Error:      Condition satisfied
        Messages:   expected no duplicate events after snapshot
=== FAIL: coderd/x/chatd TestPromoteQueuedAllowsAlreadyQueuedMessageWhenUsageLimitReached (0.48s)
    chatd_test.go:884:
        Error:      Not equal:
                    expected: "pending"
                    actual  : "running"

(test-go-pg-17 also failed TestPromoteQueuedAllowsAlreadyQueuedMessageWhenUsageLimitReached with the same pending vs running mismatch.)

Error analysis:

  • Both failures are in coderd/x/chatd/chatd_test.go.
  • The tests assert timing-sensitive chat status/stream behavior (pending status and no duplicate events after snapshot), but the chat processor appears to advance to running and emit events earlier than expected.
  • No panic, OOM, or data race warnings observed in the logs.

Root cause classification: Flaky test (timing-sensitive async behavior in chatd).

Assignment analysis:

  • Unable to run git blame here; used git log --oneline -10 --follow coderd/x/chatd/chatd_test.go (via API).
  • The most recent non-trivial change touching chatd tests is commit 386b4492 ("reduce chat streaming latency with event-driven acquisition") by Kyle Carberry, which also notes test stabilization adjustments.
  • Assigning to the most recent substantive modifier of these tests and chatd timing behavior: @kylecarbs.

Related issues search (coder/internal):

  • "TestPromoteQueuedAllowsAlreadyQueuedMessageWhenUsageLimitReached"
  • "TestSubscribeNoPubsubNoDuplicateMessageParts"
  • "duplicate events" + "chatd"
  • "pending" + "running" + "chatd"
    No direct duplicates found.

Reproduction (if needed):

go test ./coderd/x/chatd -run TestSubscribeNoPubsubNoDuplicateMessageParts -count=1
GOFLAGS=-count=1 go test ./coderd/x/chatd -run TestPromoteQueuedAllowsAlreadyQueuedMessageWhenUsageLimitReached -count=1

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions