judge errno before set errsim

This commit is contained in:
obdev
2023-03-06 10:46:17 +00:00
committed by ob-robot
parent a40e181106
commit 33dd4ba133
2 changed files with 38 additions and 28 deletions

View File

@ -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),
K(schedule_major_snapshot), K(adaptive_merge_reason), KPC(last_major), K(medium_list), K(max_sync_medium_scn));
#ifdef ERRSIM
if (OB_SUCC(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) {
FLOG_INFO("set schedule medium with errsim", KPC(this));
ret = OB_SUCCESS;
schedule_medium_flag = true;
}
}
#endif
if (OB_FAIL(ret) || !schedule_medium_flag) {
@ -358,11 +360,13 @@ int ObMediumCompactionScheduleFunc::decide_medium_snapshot(
}
}
#ifdef ERRSIM
if (OB_SUCC(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) {
FLOG_INFO("set schedule medium with errsim", KPC(this));
ret = OB_SUCCESS;
}
}
#endif
if (FAILEDx(prepare_medium_info(result, medium_info))) {
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));
}
#ifdef ERRSIM
if (OB_SUCC(ret)) {
static bool have_set_errno = false;
static ObTabletID errno_tablet_id;
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;
}
}
}
#endif
if (FAILEDx(medium_info.storage_schema_.init(
allocator,
@ -754,10 +760,12 @@ int ObMediumCompactionScheduleFunc::check_medium_checksum_table(
}
}
#ifdef ERRSIM
if (OB_SUCC(ret)) {
ret = OB_E(EventTable::EN_MEDIUM_REPLICA_CHECKSUM_ERROR) OB_SUCCESS;
if (OB_FAIL(ret)) {
STORAGE_LOG(INFO, "ERRSIM EN_MEDIUM_REPLICA_CHECKSUM_ERROR", K(ret), K(ls_id), K(tablet_id));
}
}
#endif
if (OB_CHECKSUM_ERROR == ret) {
int tmp_ret = OB_SUCCESS;

View File

@ -1343,11 +1343,13 @@ int ObAdaptiveMergePolicy::find_meta_major_tables(
}
#ifdef ERRSIM
if (OB_NO_NEED_MERGE = 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) {
FLOG_INFO("set schedule medium with errsim", "tablet_id", tablet.get_tablet_meta().tablet_id_);
ret = OB_SUCCESS;
}
}
#endif
}