Skip to content

queue_isBoundedAndDropsRatherThanGrows flakes on Java 8: one failed loopback send fails the drops-are-silent assertion #22

Closed

Description

@dmccoystephenson

main is red: the push run for cde8148 (#21), https://github.com/Stephenson-Software/trace-client-java/actions/runs/39232050979, failed on the build (8) leg. The 17 and 21 legs were cancelled.

TraceClientTest.queue_isBoundedAndDropsRatherThanGrows:518 a full queue drops without logging, but logged: 1 ==> expected: <true> but was: <false>

This is a flake, not a regression. #21 changed only Javadoc, and the same tree passed both of its pull_request runs minutes earlier. The log.records.isEmpty() assertion was added in #20.

Cause, as far as can be told: the server in that test only answers 201, so the one line the send path can log is could not deliver …, which send() writes when an IOException hits one of the ~257 short-lived loopback connections. The assertion assumes none of those connections ever fails, which loopback does not guarantee. The failure message prints only the count, so the line itself was lost.

Expected fix: the test keeps its regression value (a client that logged each drop would write hundreds of lines) but tolerates the odd failed send, and its failure message prints the logged messages.

This issue was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener).


drafted by Claude on behalf of Daniel Stephenson

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions