diff --git a/src/rc/dms_reform.c b/src/rc/dms_reform.c index 2caf54a452e3717e31b2bdeb1c0762cc6cc36303..64dce2ecf5409bdebaa2e62746eac24fdc1a8d7b 100644 --- a/src/rc/dms_reform.c +++ b/src/rc/dms_reform.c @@ -582,7 +582,7 @@ int dms_az_failover(unsigned int sess_id) // record reformer version, if reformer changed or restart, send error to stop the session which has run switchover failover_info->switch_req = CM_TRUE; failover_info->reformer_version.inst_id = reformer_id; - failover_info->reformer_version.start_time = reform_info->start_time; + failover_info->reformer_version.start_time = start_time; failover_info->switch_start = CM_TRUE; failover_info->switch_type = AZ_FAILOVER; failover_info->inst_id = reformer_id; diff --git a/src/rc/dms_reform_judge.c b/src/rc/dms_reform_judge.c index 4b0a641016035c596240913970c7671748682519..91594576fe7cdfb7c352ac956b25cddd0d8ae8ef 100644 --- a/src/rc/dms_reform_judge.c +++ b/src/rc/dms_reform_judge.c @@ -908,8 +908,9 @@ static void dms_reform_judgement_az_switchover_demote(instance_list_t *inst_list dms_reform_judgement_az_demote_phase2(inst_lists); dms_reform_judgement_drc_inaccess(); dms_reform_judgement_lock_instance(); + dms_reform_judgement_drc_clean(inst_lists); + dms_reform_judgement_rebuild(inst_lists); dms_reform_judgement_remaster(inst_lists); - dms_reform_judgement_migrate(inst_lists); dms_reform_judgement_drc_access(); dms_reform_judgement_page_access(); dms_reform_judgement_recovery(inst_lists); @@ -929,8 +930,9 @@ static void dms_reform_judgement_az_switchover_to_promote(instance_list_t *inst_ dms_reform_judgement_prepare(); dms_reform_judgement_start(); dms_reform_judgement_drc_inaccess(); + dms_reform_judgement_drc_clean(inst_lists); + dms_reform_judgement_rebuild(inst_lists); dms_reform_judgement_remaster(inst_lists); - dms_reform_judgement_migrate(inst_lists); dms_reform_judgement_drc_access(); dms_reform_judgement_page_access(); dms_reform_judgement_az_promote_phase1(); @@ -954,6 +956,8 @@ static void dms_reform_judgement_az_failover(instance_list_t *inst_lists) dms_reform_judgement_prepare(); dms_reform_judgement_start(); dms_reform_judgement_drc_inaccess(); + dms_reform_judgement_drc_clean(inst_lists); + dms_reform_judgement_rebuild(inst_lists); dms_reform_judgement_remaster(inst_lists); dms_reform_judgement_repair(); dms_reform_judgement_drc_access(); @@ -1454,6 +1458,10 @@ static void dms_reform_judgement_before_proc(instance_list_t *inst_lists) case DMS_REFORM_TYPE_FOR_AZ_SWITCHOVER_DEMOTE: case DMS_REFORM_TYPE_FOR_AZ_SWITCHOVER_PROMOTE: case DMS_REFORM_TYPE_FOR_AZ_FAILOVER: + reform_info->has_ddl_2phase = CM_FALSE; + share_info->full_clean = CM_TRUE; + break; + case DMS_REFORM_TYPE_FOR_NEW_JOIN: reform_info->has_ddl_2phase = CM_FALSE; break;