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]

Reply via email to