MultiWorker coalesces worker failures and raises bundled exception.
Summary:
Add support to MultiWorker.call for a coalesced failure of workers.
Right now, when OOM-killer sigkills one worker process we sometimes
don't see it. Instead, it leaves SharedMem in a corrupted state and we
see some other worker fail for reasons unrelated to sigkill.
But we want to actually detect that OOM-killer's sigkill.
This lets us do that.
When a worker failure is encountered, we continue looking through the remaining
workers looking for more failures, coalesce them all together, and throw a
single unified exception for all of the failed workers.
Reviewed By: dabek
Differential Revision:
D7210619
fbshipit-source-id:
d853e06278156c6f810d1a8ad2457ecd006a2f1e