Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.4.10
-
None
-
Reviewed
Description
Changed the issue title and description for the scope of the work.
there is a bug in handling Rollback in SplitTableRegionProcedure.
In the state machine: case SPLIT_TABLE_REGION_CLOSE_PARENT_REGION: addChildProcedure(createUnassignProcedures(env)); // Comments from HX: // createUnassignProcedures() can throw out IOException. If this happens, // it wont reach state SPLIT_TABLE_REGIONS_CHECK_CLOSED_REGION and no parent regions // is closed as all created UnassignProcedures are rolled back. If it rolls back with // state SPLIT_TABLE_REGION_CLOSE_PARENT_REGION, no need to call openParentRegion(), // otherwise, it will result in OpenRegionProcedure for an already open region. setNextState(SplitTableRegionState.SPLIT_TABLE_REGIONS_CHECK_CLOSED_REGIONS); break; In the rollback, case SPLIT_TABLE_REGIONS_CHECK_CLOSED_REGIONS: // Doing nothing, in SPLIT_TABLE_REGION_CLOSE_PARENT_REGION, // we will bring parent region online break; case SPLIT_TABLE_REGION_CLOSE_PARENT_REGION: // Comments from HX: // OpenParentRegion() should not be called here as explained above. openParentRegion(env); break;
Attachments
Issue Links
- links to