nickva opened a new pull request, #5160:
URL: https://github.com/apache/couchdb/pull/5160

   Previously, we performed cleanup only for specific errors such as 
`ddoc_updated`, and `insufficient_storage`. In case of other errors, or 
timeouts, there was a chance we would leak workers waiting to be either started 
or canceled. Those workers would then wait around until the 5 minute rexi 
timeout fires, and then they emit an error in the logs. It's not a big deal as 
that happens on errors only, and the processes are all waiting in receive, 
however, they do hold a Db handle open, so they can waste resources from that 
point of view.
   
   To fix that, this commit extends cleanup to other errors and timeouts.
   
   Moreover, in case of timeouts, we log fabric worker timeout errors. In order 
to do that we export the `fabric_streams` internal `#stream_acc` record to 
every `fabric_streams` user. That's a bit untidy, so make the timeout error 
return the defunct workers only, and so, we can avoid leaking the `#stream_acc` 
record outside the fabric_streams module.
   
   Related to https://github.com/apache/couchdb/issues/5127
   


-- 
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