dave08
06/13/2018, 12:42 PMDeactivated User
06/13/2018, 12:44 PMDeactivated User
06/13/2018, 12:47 PMdave08
06/13/2018, 12:50 PMdave08
06/13/2018, 12:52 PMDeactivated User
06/13/2018, 12:58 PMDeactivated User
06/13/2018, 12:59 PMDeactivated User
06/13/2018, 1:01 PMdave08
06/13/2018, 1:02 PMDeactivated User
06/13/2018, 1:05 PMdave08
06/13/2018, 1:12 PMevents
you pointed to earlier?dave08
06/13/2018, 1:16 PMdave08
06/13/2018, 1:16 PMDeactivated User
06/13/2018, 1:43 PMDeactivated User
06/13/2018, 1:50 PMDeactivated User
06/13/2018, 1:55 PMdave08
06/13/2018, 2:05 PMwithTimeout
in coroutines?), if not already implemented that way.
Right now we use Odoo for our ERP and it needs to send a request and receive an answer from a microservice (currently in Vert.x), our Prometheus histogram is showing that a lot of those requests are hanging... and the UI also hangs with them, so there isn't even proper feedback being returned to Odoo. In this case a timeout would at least make it possible to give an error message back to the UI (and odoo logs) that the connection was established (it might be the connection that didn't go through also... which could help pinpoint the issue), but that the service hung while handling the request.Deactivated User
06/13/2018, 2:25 PMDeactivated User
06/13/2018, 2:40 PMDeactivated User
06/13/2018, 2:41 PMdave08
06/13/2018, 3:09 PMDeactivated User
06/13/2018, 3:12 PMDeactivated User
06/13/2018, 3:12 PMdave08
06/13/2018, 3:14 PMdave08
06/13/2018, 3:16 PMDeactivated User
06/13/2018, 3:17 PMdave08
06/13/2018, 3:22 PMsuspend fun
, it's fine, and your example is very good. The problem starts when delegating blocking work to other context pools or to actor channels...Deactivated User
06/13/2018, 3:23 PMDeactivated User
06/13/2018, 3:26 PMdave08
06/13/2018, 3:27 PMdave08
06/13/2018, 3:27 PMDeactivated User
06/13/2018, 3:29 PMDeactivated User
06/13/2018, 3:30 PMDeactivated User
06/13/2018, 3:30 PMdave08
06/13/2018, 3:39 PMsuspend fun getX() = withContext(DBPool)
now that you mention that.
But certain calls we have in our API, return a sort of acknowledgement that it'll defer a longer task to an actor
channel... in that channel I access the service, if that hangs... then I'll be collecting tons of hanged coroutines, how will the circuit breaker handle this?Deactivated User
06/13/2018, 3:41 PMDeactivated User
06/13/2018, 3:41 PMDeactivated User
06/13/2018, 3:42 PMdave08
06/13/2018, 4:01 PMdave08
06/13/2018, 4:10 PMDeactivated User
06/13/2018, 4:12 PMdave08
06/13/2018, 4:14 PMDeactivated User
06/13/2018, 4:23 PMdave08
06/13/2018, 4:25 PMDeactivated User
06/13/2018, 4:40 PM