public class TestAsyncProcessWithRegionException
extends Object
The purpose of this test is to make sure the region exception won't corrupt the results
of batch. The prescription is shown below.
1) honor the action result rather than region exception. If the action have both of true result
and region exception, the action is fine as the exception is caused by other actions
which are in the same region.
2) honor the action exception rather than region exception. If the action have both of action
exception and region exception, we deal with the action exception only. If we also
handle the region exception for the same action, it will introduce the negative count of
actions in progress. The AsyncRequestFuture#waitUntilDone will block forever.
This bug can be reproduced by real use case. see TestMalformedCellFromClient(in branch-1.4+).
It uses the batch of RowMutations to present the bug. Given that the batch of RowMutations is
only supported by branch-1.4+, perhaps the branch-1.3 and branch-1.2 won't encounter this issue.
We still backport the fix to branch-1.3 and branch-1.2 in case we ignore some write paths.