Skip to content

fix(roadmap): alternatives ADR cap test reads logs of other loggers #4062

Open

Description

@dan-petty

What happens

tests/roadmap/test_roadmap_alternatives.py::test_the_decisions_are_cut_by_whole_entries_the_oldest_go_first_and_a_warning_says_so failed in one full local devops ci run on a loaded host. The test passes alone (166 passed in the file) and passes in the four GitHub shards.

Cause

The test compares the list of ALL warning records with the one expected warning. In the failing run, eight extra records came from the logger opentelemetry.sdk.trace.export with the text "Processor is already shutdown, ignoring call". A test that ran before it in the same xdist worker shut a span processor down and left the tracer state behind.

Expected

The test reads only the records of the logger devops_cli.roadmap.adr. The test that leaves the shut processor behind is found and its tracer state is reset.

Steps

  1. Run uv run devops ci on a loaded host, or run the telemetry tests and then the file in one worker.
  2. Read the assertion at index 4 of the tuple.

Activity

  1. added
    type/bugDefect, regression, or incorrect runtime behavior
    scope/roadmapThe roadmap jobs: intake, refine, stage, implement and the Service that runs them
    status/newStatus New: the item is not ready yet
    effort/lowEffort Low: little work
    on Nov 7, 2026
  2. dan-petty commented on Nov 7, 2026

    @dan-petty
    OwnerAuthor

    Intake placed this item to the backlog: intake puts every new item in the backlog. A person plans the milestones.

    • Type: type/bug. The fix prefix of the title gives the type.
    • Scope: scope/roadmap. The (roadmap) scope of the title gives the scope.
    • Priority: P2-Medium. A flaky test under load causes CI noise but does not block a user-facing feature.
    • Value: Medium. It removes a recurring CI failure that blocks merge confidence.
    • Effort: Low. The fix is to add a logger-name filter in one test and reset tracer state in another.
    • Related: fix(tests): a logfire console span leaks into stdout of a later test #3532, which asks for a different change. Both fix test pollution from telemetry state in xdist workers, but the candidate filters log records by logger name while #3532 stops a logfire span from writing to stdout.
  3. added
    priority/p2-mediumStandard priority feature work and architectural improvements
    on Nov 7, 2026
  4. dan-petty commented on Nov 7, 2026

    @dan-petty
    OwnerAuthor

    The test fails on PR #4077 (shard 2 of 4, run 42416842507): the log records hold 'Processor is already shutdown, ignoring call' lines next to the expected warning. #4077 does not touch this test or alternatives code. I re-ran the failed job.

  5. dan-petty commented on Nov 7, 2026

    @dan-petty
    OwnerAuthor

    PR #4077 filters the log records of three alternatives tests by logger name (the first half of Expected). The second half stays open: find the test that leaves the shut span processor and reset its tracer state. The shard of #4077 failed twice on this test, so the order of tests in the worker made it fail every time there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    effort/lowEffort Low: little workpriority/p2-mediumStandard priority feature work and architectural improvementsscope/roadmapThe roadmap jobs: intake, refine, stage, implement and the Service that runs themsource/agentFiled by an agentstatus/newStatus New: the item is not ready yettype/bugDefect, regression, or incorrect runtime behaviorvalue/mediumValue Medium

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions