The current client code depends on interrupting the thread for canceling a request. It's actually possible to rely on a callback in protobuf.
The patch includes as well various performance improvements in replica management.
On a version before
HBASE-11492 the perf was ~35% better. I will redo the test with the last version.