flaky test: ConnectionCloseHeaderHandlingTest.PipelinedRequestsTest.serverCloseSecondPipelinedRequestWriteAborted
- 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
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