judge errno before set errsim
This commit is contained in:
		@ -241,12 +241,14 @@ int ObMediumCompactionScheduleFunc::schedule_next_medium_primary_cluster(
 | 
				
			|||||||
  LOG_DEBUG("schedule next medium in primary cluster", K(ret), KPC(this), K(schedule_medium_flag),
 | 
					  LOG_DEBUG("schedule next medium in primary cluster", K(ret), KPC(this), K(schedule_medium_flag),
 | 
				
			||||||
      K(schedule_major_snapshot), K(adaptive_merge_reason), KPC(last_major), K(medium_list), K(max_sync_medium_scn));
 | 
					      K(schedule_major_snapshot), K(adaptive_merge_reason), KPC(last_major), K(medium_list), K(max_sync_medium_scn));
 | 
				
			||||||
#ifdef ERRSIM
 | 
					#ifdef ERRSIM
 | 
				
			||||||
 | 
					  if (OB_SUCC(ret)) {
 | 
				
			||||||
    ret = OB_E(EventTable::EN_SCHEDULE_MEDIUM_COMPACTION) ret;
 | 
					    ret = OB_E(EventTable::EN_SCHEDULE_MEDIUM_COMPACTION) ret;
 | 
				
			||||||
    if (OB_FAIL(ret) && tablet_.get_tablet_meta().tablet_id_.id() > ObTabletID::MIN_USER_TABLET_ID) {
 | 
					    if (OB_FAIL(ret) && tablet_.get_tablet_meta().tablet_id_.id() > ObTabletID::MIN_USER_TABLET_ID) {
 | 
				
			||||||
      FLOG_INFO("set schedule medium with errsim", KPC(this));
 | 
					      FLOG_INFO("set schedule medium with errsim", KPC(this));
 | 
				
			||||||
      ret = OB_SUCCESS;
 | 
					      ret = OB_SUCCESS;
 | 
				
			||||||
      schedule_medium_flag = true;
 | 
					      schedule_medium_flag = true;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (OB_FAIL(ret) || !schedule_medium_flag) {
 | 
					  if (OB_FAIL(ret) || !schedule_medium_flag) {
 | 
				
			||||||
@ -358,11 +360,13 @@ int ObMediumCompactionScheduleFunc::decide_medium_snapshot(
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
#ifdef ERRSIM
 | 
					#ifdef ERRSIM
 | 
				
			||||||
 | 
					  if (OB_SUCC(ret)) {
 | 
				
			||||||
    ret = OB_E(EventTable::EN_SCHEDULE_MEDIUM_COMPACTION) ret;
 | 
					    ret = OB_E(EventTable::EN_SCHEDULE_MEDIUM_COMPACTION) ret;
 | 
				
			||||||
    if (OB_FAIL(ret) && tablet_.get_tablet_meta().tablet_id_.id() > ObTabletID::MIN_USER_TABLET_ID) {
 | 
					    if (OB_FAIL(ret) && tablet_.get_tablet_meta().tablet_id_.id() > ObTabletID::MIN_USER_TABLET_ID) {
 | 
				
			||||||
      FLOG_INFO("set schedule medium with errsim", KPC(this));
 | 
					      FLOG_INFO("set schedule medium with errsim", KPC(this));
 | 
				
			||||||
      ret = OB_SUCCESS;
 | 
					      ret = OB_SUCCESS;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
    if (FAILEDx(prepare_medium_info(result, medium_info))) {
 | 
					    if (FAILEDx(prepare_medium_info(result, medium_info))) {
 | 
				
			||||||
      if (OB_TABLE_IS_DELETED == ret) {
 | 
					      if (OB_TABLE_IS_DELETED == ret) {
 | 
				
			||||||
@ -620,6 +624,7 @@ int ObMediumCompactionScheduleFunc::get_table_schema_to_merge(
 | 
				
			|||||||
    LOG_WARN("table is deleted", K(ret), K(table_id));
 | 
					    LOG_WARN("table is deleted", K(ret), K(table_id));
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
#ifdef ERRSIM
 | 
					#ifdef ERRSIM
 | 
				
			||||||
 | 
					  if (OB_SUCC(ret)) {
 | 
				
			||||||
    static bool have_set_errno = false;
 | 
					    static bool have_set_errno = false;
 | 
				
			||||||
    static ObTabletID errno_tablet_id;
 | 
					    static ObTabletID errno_tablet_id;
 | 
				
			||||||
    ret = OB_E(EventTable::EN_SCHEDULE_MAJOR_GET_TABLE_SCHEMA) ret;
 | 
					    ret = OB_E(EventTable::EN_SCHEDULE_MAJOR_GET_TABLE_SCHEMA) ret;
 | 
				
			||||||
@ -634,6 +639,7 @@ int ObMediumCompactionScheduleFunc::get_table_schema_to_merge(
 | 
				
			|||||||
        ret = OB_SUCCESS;
 | 
					        ret = OB_SUCCESS;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
  if (FAILEDx(medium_info.storage_schema_.init(
 | 
					  if (FAILEDx(medium_info.storage_schema_.init(
 | 
				
			||||||
    allocator,
 | 
					    allocator,
 | 
				
			||||||
@ -754,10 +760,12 @@ int ObMediumCompactionScheduleFunc::check_medium_checksum_table(
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
#ifdef ERRSIM
 | 
					#ifdef ERRSIM
 | 
				
			||||||
 | 
					    if (OB_SUCC(ret)) {
 | 
				
			||||||
      ret = OB_E(EventTable::EN_MEDIUM_REPLICA_CHECKSUM_ERROR) OB_SUCCESS;
 | 
					      ret = OB_E(EventTable::EN_MEDIUM_REPLICA_CHECKSUM_ERROR) OB_SUCCESS;
 | 
				
			||||||
      if (OB_FAIL(ret)) {
 | 
					      if (OB_FAIL(ret)) {
 | 
				
			||||||
        STORAGE_LOG(INFO, "ERRSIM EN_MEDIUM_REPLICA_CHECKSUM_ERROR", K(ret), K(ls_id), K(tablet_id));
 | 
					        STORAGE_LOG(INFO, "ERRSIM EN_MEDIUM_REPLICA_CHECKSUM_ERROR", K(ret), K(ls_id), K(tablet_id));
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
    if (OB_CHECKSUM_ERROR == ret) {
 | 
					    if (OB_CHECKSUM_ERROR == ret) {
 | 
				
			||||||
      int tmp_ret = OB_SUCCESS;
 | 
					      int tmp_ret = OB_SUCCESS;
 | 
				
			||||||
 | 
				
			|||||||
@ -1343,11 +1343,13 @@ int ObAdaptiveMergePolicy::find_meta_major_tables(
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef ERRSIM
 | 
					#ifdef ERRSIM
 | 
				
			||||||
 | 
					  if (OB_NO_NEED_MERGE = ret) {
 | 
				
			||||||
    ret = OB_E(EventTable::EN_SCHEDULE_MEDIUM_COMPACTION) ret;
 | 
					    ret = OB_E(EventTable::EN_SCHEDULE_MEDIUM_COMPACTION) ret;
 | 
				
			||||||
    if (OB_FAIL(ret) && tablet.get_tablet_meta().tablet_id_.id() > ObTabletID::MIN_USER_TABLET_ID) {
 | 
					    if (OB_FAIL(ret) && tablet.get_tablet_meta().tablet_id_.id() > ObTabletID::MIN_USER_TABLET_ID) {
 | 
				
			||||||
      FLOG_INFO("set schedule medium with errsim", "tablet_id", tablet.get_tablet_meta().tablet_id_);
 | 
					      FLOG_INFO("set schedule medium with errsim", "tablet_id", tablet.get_tablet_meta().tablet_id_);
 | 
				
			||||||
      ret = OB_SUCCESS;
 | 
					      ret = OB_SUCCESS;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user