apple / apple/servicetalk

flaky test: ConnectionCloseHeaderHandlingTest.PipelinedRequestsTest.serverCloseSecondPipelinedRequestWriteAborted

Open
#3,109 2 comments 0 reactions 0 assignees View on GitHub
flaky tests
Dominant language
Java
Stars
1k
Forks
229
Avg merge
23h 23m
Merged PRs (30d)
16

Description

https://github.com/apple/servicetalk/actions/runs/11849584912/job/33052783755?pr=3107#step:8:882
```
ConnectionCloseHeaderHandlingTest > PipelinedRequestsTest > serverCloseSecondPipelinedRequestWriteAborted(boolean, boolean, boolean) > 4: useUds=false, viaProxy=true, awaitRequestPayload=true FAILED
java.util.concurrent.ExecutionException: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_INBOUND(The application protocol closed the read side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0xd3aafc1b, L:/127.0.0.1:35012 - R:localhost/127.0.0.1:38763]
at io.servicetalk.concurrent.api.SourceToFuture.reportGet(SourceToFuture.java:134)
at io.servicetalk.concurrent.api.SourceToFuture.get(SourceToFuture.java:103)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$ConnectionSetup.assertResponsePayloadBody(ConnectionCloseHeaderHandlingTest.java:260)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$PipelinedRequestsTest.serverCloseSecondPipelinedRequestWriteAborted(ConnectionCloseHeaderHandlingTest.java:417)

Caused by:
io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_INBOUND(The application protocol closed the read side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0xd3aafc1b, L:/127.0.0.1:35012 - R:localhost/127.0.0.1:38763]

Caused by:
io.netty.channel.unix.Errors$NativeIoException: recvAddress(..) failed: Connection reset by peer
```

Contributor guide

Open the contributing guide

Research direction

Start by running ConnectionCloseHeaderHandlingTest.PipelinedRequestsTest.serverCloseSecondPipelinedRequestWriteAborted with useUds=false, viaProxy=true, and awaitRequestPayload=true. Read the failure path at ConnectionCloseHeaderHandlingTest.java:260 and :417, then compare the test's expected response handling with the reported connection reset. Done means the flaky scenario is understood and the test or underlying behavior passes reliably.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
networking, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.