{"push_id":3155069440,"size":2,"distinct_size":2,"ref":"refs/heads/clean-rexi-stream-workers","head":"12de5e4e94ab1a2551e4e1fe738ed7d91c62dddc","before":"2139ab72ccd335ba4fe76c43fc507933ba69c06f","commits":[{"sha":"19048fdc9ddae275b02cfb9b1de1c35bcfe94cb0","author":{"name":"Nick Vatamaniuc","email":"3cdad521b2e24072cc1b058966344ec834a57fa6@apache.org"},"message":"Move fabric streams to a fabric_streams module\n\nStreams functionality is fairly isolated from the rest of the utils module so\nmove it to its own. This is mostly in preparation to add a streams workers\ncleaner process.","distinct":true,"url":"https://api.github.com/repos/cloudant/couchdb/commits/19048fdc9ddae275b02cfb9b1de1c35bcfe94cb0"},{"sha":"12de5e4e94ab1a2551e4e1fe738ed7d91c62dddc","author":{"name":"Nick Vatamaniuc","email":"3cdad521b2e24072cc1b058966344ec834a57fa6@apache.org"},"message":"Clean rexi stream workers when coordinator process is killed\n\nSometimes fabric coordinators end up getting brutally terminated [1], and in that\ncase they might never process their `after` clause where their remote rexi\nworkers are killed. Those workers are left lingering around keeping databases\nactive for up to 5 minutes at a time.\n\nTo prevent that from happening, let coordinators which use streams spawn an\nauxiliary cleaner process. This process will monitor the main coordinator and\nif it dies will ensure remote workers are killed, freeing resources\nimmediately. In order not to send 2x the number of kill messages during the\nnormal exit, fabric_util:cleanup() will stop the auxiliary process before\ncontinuing.\n\n[1] One instance is when the ddoc cache is refreshed:\n https://github.com/apache/couchdb/blob/master/src/ddoc_cache/src/ddoc_cache_entry.erl#L236","distinct":true,"url":"https://api.github.com/repos/cloudant/couchdb/commits/12de5e4e94ab1a2551e4e1fe738ed7d91c62dddc"}]}
{"actor":{"display_login":"nickva"}}