-
Notifications
You must be signed in to change notification settings - Fork 306
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HTTP connection stuck on tcp state CLOSE_WAIT, Cats-effect backend #1924
Comments
Is that the |
That's right sbt dependency
basicRequest
.contentType(MediaType.ApplicationJson)
.httpVersion(HttpVersion.HTTP_1_1)
.... Seems to have the same issue in 3.8.15 |
Dumping Cats-effect engine getting this suspicious trace: cats.effect.IOFiber@118ae5d4 BLOCKED
? delay @ sttp.client3.impl.cats.CatsMonadError.eval(CatsMonadError.scala:19)
? map @ sttp.client3.impl.cats.CatsMonadError.map(CatsMonadError.scala:9)
? flatMap @ sttp.client3.impl.cats.CatsMonadError.flatMap(CatsMonadError.scala:12)
? map @ sttp.client3.impl.cats.CatsMonadError.map(CatsMonadError.scala:9)
? map @ sttp.client3.impl.cats.CatsMonadError.map(CatsMonadError.scala:9)
? delay @ sttp.client3.impl.cats.CatsMonadAsyncError.$anonfun$async$1(CatsMonadAsyncError.scala:10)
? map @ sttp.client3.impl.cats.CatsMonadAsyncError.$anonfun$async$1(CatsMonadAsyncError.scala:10)
? async @ sttp.client3.impl.cats.CatsMonadAsyncError.async(CatsMonadAsyncError.scala:10)
? map @ sttp.client3.impl.cats.CatsMonadError.map(CatsMonadError.scala:9)
? delay @ sttp.client3.impl.cats.CatsMonadError.eval(CatsMonadError.scala:19)
? flatMap @ sttp.client3.impl.cats.CatsMonadError.flatMap(CatsMonadError.scala:12)
? recoverWith @ sttp.client3.impl.cats.CatsMonadError.handleWrappedError(CatsMonadError.scala:17) |
I think it's rather something in the java's HttpClient configuration, or the way you use the backend, rather then the specific cats integration. Can you share some more details as to how you use the sttp client and the backend (when and how you create the backend, is it reused), and what do you mean exactly by "the call is stuck"? Does some method call block, while it shouldn't? A reproducing example would be best, but I suspect it might be hard to create. But something close to it would help diagnose the issue. |
I swapped the backend to My use case is a batching of 4000 http requests in parallel and waiting until completion. The response from the server (Python's Uvicorn) can take up to a minute or so. After 20-40 minutes the application doesn't continue to the next batch. Unfortunately, I don't have a test to reproduce the issue. |
Hey folks,
I'm running sttp stable 3.9.0 with the cat-effect backend with the latest JVM 17.
Occasionally, the server closes the connections, and the call stuck in CLOSE_WAIT state.
According to the info I found regarding this issue, it shouldn't happen and the client should close the connection.
Thanks
The text was updated successfully, but these errors were encountered: