-
Notifications
You must be signed in to change notification settings - Fork 11
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
Early cancellation intermittently causes rediculous connection in an odd state. #53
Comments
Ok, I think I've narrowed it down. I leverage the def makeSoftCancelable[F[_]: Concurrent, A](fa: F[A], supervisor: Supervisor[F]): F[A] = {
supervisor.supervise(fa)
.flatMap(_.joinWith(Concurrent[F].raiseError(new java.util.concurrent.CancellationException("Outcome was Canceled"))))
} I should be able to make this soft cancelable with a dispatcher in the pooled and direct versions to prevent these leaking. |
Great to hear. I do recall having issues with pool, than changing it to queued few months ago, but didn't note what caused the issue, since it was intermittent. |
Hmmm, well that fixed that error and introduced a new one. We're in for a wild ride.
|
Its binary compatible though and should remain so, so I think we are good to release the next version and fix it afterwards. |
Using rediculous with timeout can cause weird issues intermittently.
Repro test case.
Add the following to
RedisCommandSpec.scala
and do a few trial runs.Observe the error
Fix is probably to add
.uncancelable
statement to the effect returned byRedisConnection::explicitPipelineRequest
The text was updated successfully, but these errors were encountered: