raphaelNguyen opened a new issue, #460: URL: https://github.com/apache/incubator-pekko-http/issues/460
## Environments * `pekko-http:1.0.0` * `pekko:1.0.1` * `play-framework:3.0.0` Issue also observed with the following dependencies * `akka-http:10.2.10` * `akka:2.6.21` * `play-framework:2.9.0` ## Issue description I use `pekko` and `pekko-http` via `play-framework` and the following issue seems to only be reproducible when I receive the request via my nginx. If I hit my server through `localhost:<server-port>` with the same large request, the request does not suffers the same issue. When server receives a request with a large POST body (~18400 bytes or more) from nginx, the request immediately goes into delayed cancellation after the request was received with the below debug log. Some debugging shows that this happens before the request is routed to the corresponding play `Action` and gets processed. If the server takes longer than the `linger-timeout` (default of 1 minute) to process the request, the connection is cancelled by the server. ``` [DEBUG] o.a.p.h.i.u.StreamUtils$DelayCancellationStage$$anon$11: Delaying cancellation for 1 minute ``` In the past, I've encountered these symptoms when using `play-framework:2.8.x` (`akka:2.6.x` and `akka-http:10.1.x`). At the time, I found that upgrading `akka-http` to `10.2.1` fixed the issue. However, after the upgrading to `playframework:3.0.0` and adopting `pekko`, the same symptoms can be observed again. I've confirmed that the issue also happen on `playframework:2.9.0` and its `akka` versions (listed above). I'm not sure if this issue has been reintroduced in `akka-http:10.2.10` and `pekko` has inheritted it and would like to ask for your assistance. ## Debug Information While I do not have a good minimum reproducible case to report, I've obtained some debug information I hope could help in figuring out the issue. These logs contains the information that would have been printed by the following lines... https://github.com/apache/incubator-pekko/blob/cfff9c53df859bb0f4407caf4821e7831dabeb19/stream/src/main/scala/org/apache/pekko/stream/impl/fusing/GraphInterpreter.scala#L551-L553 println( s"$Name PUSH ${outOwnerName(connection)} -> ${inOwnerName( connection)}, ${connection.slot} (${connection.inHandler}) [${inLogicName(connection)}]") https://github.com/apache/incubator-pekko/blob/cfff9c53df859bb0f4407caf4821e7831dabeb19/stream/src/main/scala/org/apache/pekko/stream/impl/fusing/GraphInterpreter.scala#L563-L564 println( s"$Name PULL ${inOwnerName(connection)} -> ${outOwnerName( https://github.com/apache/incubator-pekko/blob/cfff9c53df859bb0f4407caf4821e7831dabeb19/stream/src/main/scala/org/apache/pekko/stream/impl/fusing/GraphInterpreter.scala#L517-L519 println( s"$Name CANCEL ${inOwnerName(connection)} -> ${outOwnerName( connection)} (${connection.outHandler}) [${outLogicName(connection)}]") ... and the `cause` for cancellation at https://github.com/apache/incubator-pekko/blob/cfff9c53df859bb0f4407caf4821e7831dabeb19/stream/src/main/scala/org/apache/pekko/stream/impl/fusing/GraphInterpreter.scala#L522 The POST body sent is a `text/plain` body with the content `data=0000000000[...]` with the number of zero being specified by me to control the size of the body. The log contains all `PUSH`, `PULL` and `CANCEL` up to the time when the request gets to the play `Controller`. * 18357 bytes via nginx - error happens - [connection-activities-18352-error.log](https://github.com/apache/incubator-pekko-http/files/14093134/connection-activities-18352-error.log) * 18357 bytes via nginx - error happens - [connection-activities-18351-success.log](https://github.com/apache/incubator-pekko-http/files/14093135/connection-activities-18351-success.log) * 18357 bytes via nginx - error happens - [connection-activities-18352-direct-success.log](https://github.com/apache/incubator-pekko-http/files/14093136/connection-activities-18352-direct-success.log) Thank you very much for your time and if you require more information, please do not hesitate to ask. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@pekko.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@pekko.apache.org For additional commands, e-mail: notifications-h...@pekko.apache.org