rnewson commented on PR #4735:
URL: https://github.com/apache/couchdb/pull/4735#issuecomment-1715743087
To expand on that last comment, perhaps we alter how workers end? Today we
do `exit(Pid, kill)` which is obviously untrappable. As an option to
`fabric_util:cleanup/1` perhaps we could instead do `exit(Pid, finish)` (or
some other word). I think the workers would get a `{rexi_EXIT, finish}`
message. On receipt of that they'd "complete" whatever made sense for them (in
our case, simply messaging out the execution stats up to that point, but not
performing any new work). The fabric coordinator would have to wait for either
that reply or notification that the worker processes terminated for some other
reason, before finishing up.
This way ensures we send no more messages than today, at the small cost of
making the coordinator wait for one message from each worker it would normally
have unilaterally and asynchronously killed.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]