b.prepare for the merge transaction, the transaction will be canceled if it is unavailable,
e.g. two regions don't belong to same table; two regions are not adjacent in a non-compulsory merge; region is closed or has reference

c.execute the transaction as the following:
/**

Set region as in transition, set it into MERGING state.
*/
SET_MERGING_IN_ZK,
/**

We created the temporary merge data directory.
*/
CREATED_MERGE_DIR,
/**

Closed the merging region A.
*/
CLOSED_REGION_A,
/**

The merging region A has been taken out of the server's online regions list.
*/
OFFLINED_REGION_A,
/**

Closed the merging region B.
*/
CLOSED_REGION_B,
/**

The merging region B has been taken out of the server's online regions list.
*/
OFFLINED_REGION_B,
/**

Started in on creation of the merged region.
*/
STARTED_MERGED_REGION_CREATION,
/**

Point of no return. If we got here, then transaction is not recoverable