-
Notifications
You must be signed in to change notification settings - Fork 448
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
Using an parTraverse inside another parTraverse causes a hang #2764
Comments
Hey @Vaysman, strange there should not be such a restriction, and I’ve used nested parTraverse in the past. Thanks for the reproducible examples! That will certainly help investigate this. This seems related to #2760 (comment) and thank you for the support, and nice words about Arrow 🙌 |
It is indeed related to #2760. I've pinpointed the problematic code: fun doIt1(data: Data) =
effect<ExampleError, List<List<String>>> {
data.nested.parTraverse { nested ->
doIt2(nested)
.bind() // <-- Fails, and makes Coroutines hang
// .fold({ shift(it) }, { it }) // <-- Works fine
// .toEither().bind() // <-- Works fine
}
} So it seems that somehow This is the case for Arrow For now you can rely on |
Oh this issue closed automatically. @Vaysman the fix is available in 1.1.3-alpha.31 thanks for opening the issue with a reproducible repo. That was awesome! |
A new, and better fix been made is available in 1.1.3-alpha.38 |
Hi!
First of all! Thanks for the Arrow. I like it very much.
Maybe I'm doing something wrong, but I haven't found anywhere a restriction on using a
parTraverse
inside anotherparTraverse
.Here's my example:
When I run this code in the test, everything hangs and I see this exception
I also created a separate example project with a test, so that you can easily check.
The text was updated successfully, but these errors were encountered: