Merge the 2.4 branch, and no-op out the changes for just the reconnection logic.
The reconnect code was already in 2.5, and the backporting lost the ancestry. There is enough *other* code changes that it just caused lots of conflicts with what was already correct.