Restore and fix multi node write
This commit reverts the revert of efef3a43, but also fixes an issue that caused a production incident gitlab-com/gl-infra/production#2289 (closed)
The issue was that we were closing the channel in a defer, but still selecting on it which will always return nil. This was causing a tight loop that drained resources.
Closes #2727 (closed)
Edited by James Ramsay (ex-GitLab)