Follow below steps to replay the problem:
1. change the SplitTransaction.java as below,just like mock the timeout error.
2. update the regionserver code,restart;
3. create a table & put some data to the table;
4. split the table;
5. kill the regionserver hosted the table;
6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
We can fix the bug just use the patch.