The patch file isn't exactly correct.
In getSubSplits, it still refers to range.endpoints instead of range.rpc_endpoints
I'm attaching a patch which fixes the typ0; please let me know if it is improperly formatted.
I tested this patch against a 0.8.7 cluster with a different listen_address than rpc_address, and it appears to work correctly. Not that that is exactly an automated test, but...