Files
oceanbase/src/share/ob_debug_sync_point.h
2021-11-04 18:00:57 +08:00

303 lines
19 KiB
C++

/**
* Copyright (c) 2021 OceanBase
* OceanBase CE is licensed under Mulan PubL v2.
* You can use this software according to the terms and conditions of the Mulan PubL v2.
* You may obtain a copy of Mulan PubL v2 at:
* http://license.coscl.org.cn/MulanPubL-2.0
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PubL v2 for more details.
*/
#ifndef OCEANBASE_COMMON_OB_DEBUG_SYNC_POINT_H_
#define OCEANBASE_COMMON_OB_DEBUG_SYNC_POINT_H_
#include "lib/utility/ob_macro_utils.h"
namespace oceanbase {
namespace common {
class ObString;
#define OB_DEBUG_SYNC_POINT_DEF(ACT) \
ACT(INVALID_DEBUG_SYNC_POINT, = 0) \
ACT(NOW, ) \
ACT(MAJOR_FREEZE_BEFORE_SYS_COORDINATE_COMMIT, ) \
ACT(BEFORE_REBALANCE_TASK_EXECUTE, ) \
ACT(REBALANCE_TASK_MGR_BEFORE_EXECUTE_OVER, ) \
ACT(UNIT_BALANCE_BEFORE_PARTITION_BALANCE, ) \
ACT(BEFORE_UNIT_MANAGER_LOAD, ) \
ACT(BEFORE_INNER_SQL_COMMIT, ) \
ACT(BEFORE_ASYNC_PT_UPDATE_TASK_EXECUTE, ) \
ACT(AFTER_ASYNC_PT_UPDATE_TASK_EXECUTE, ) \
ACT(DAILY_MERGE_BEFORE_RESTORE_LEADER_POS, ) \
ACT(SWITCH_LEADER_BEFORE_SYS_COORDINATE_COMMIT, ) \
ACT(START_UNIT_BALANCE, ) \
ACT(BEFORE_TRY_DELETE_SERVERS, ) \
ACT(BEFORE_TRY_FREEZE_PARTITION_TABLE, ) \
ACT(BEFORE_WRITE_CHECK_POINT, ) \
ACT(BEFORE_COMMIT_CHECK_POINT, ) \
ACT(BEFORE_PARTITION_MERGE_COMMIT, ) \
ACT(BEFORE_PARTITION_MIGRATE_COMMIT, ) \
ACT(BEFORE_SEND_UPDATE_INDEX_STATUS, ) \
ACT(AFTER_INSERT_FLAG_REPLICA, ) \
ACT(OBSERVICE_GET_LEADER_CANDIDATES, ) \
ACT(CHECK_NEW_TENANT, ) \
ACT(BEFORE_CHECK_MAJOR_FREEZE_DONE, ) \
ACT(SET_FORCE_STOP_HB_DONE, ) \
ACT(UPDATE_WITH_PARTITION_FLAG_DONE, ) \
ACT(MAJOR_FREEZE_AFTER_SYS_COMMIT, ) \
ACT(MAJOR_FREEZE_AFTER_ROOTSERVER_COMMIT, ) \
ACT(SWITCH_LEADER_AFTER_SYS_COMMIT, ) \
ACT(SWITCH_LEADER_AFTER_ROOTSERVER_COMMIT, ) \
ACT(AFTER_WRITE_MAJOR_FREEZE_COMMIT_LOG, ) \
ACT(BEFORE_AUTO_COORDINATE, ) \
ACT(DELAY_PARTITION_SERVICE_FREEZE_LOG_TASK, ) \
ACT(MINOR_MERGE_TIMER_TASK, ) \
ACT(MINOR_MERGE_TASK_PROCESS, ) \
ACT(MINOR_MERGE_SCHEDULE, ) \
ACT(DELAY_INDEX_WRITE, ) \
ACT(BEFORE_MINOR_FREEZE_GET_BASE_STORAGE_INFO, ) \
ACT(BEFORE_IS_IN_SYNC_SET, ) \
ACT(BEFORE_MIGRATE_PROCESS, ) \
ACT(BEFORE_MIGRATE_COPY_BASE_DATA, ) \
ACT(BEFORE_MIGRATE_COPY_LOGIC_DATA, ) \
ACT(BEFORE_MIGRATE_WAIT_REPLAY, ) \
ACT(BEFORE_MIGRATE_ENABLE_REPLAY, ) \
ACT(BEFORE_MIGRATE_FINISH, ) \
ACT(BEFORE_BUILD_LOCAL_INDEX, ) \
ACT(BEFORE_BALANCE_SEND_RPC, ) \
ACT(END_PRODUCE_PG_REPLICATE_TASK, ) \
ACT(BEFORE_SWEEP_MACRO_BLOCK, ) \
ACT(BEFORE_REPORT_BUILD_INDEX, ) \
ACT(DELAY_SCHEDULE_MERGE, ) \
ACT(DELAY_WRITE_CHECKPOINT, ) \
ACT(BEFORE_DO_GLOBAL_MAJOR_FREEZE, ) \
ACT(MAJOR_MERGE_PREPARE, ) \
ACT(STOP_BALANCE_EXECUTOR, ) \
ACT(BEFORE_STOP_RS, ) \
ACT(BEFORE_ANSWER_RS_STATUS, ) \
ACT(DELAY_CHANGE_REPLICA_CALLBACK, ) \
ACT(AFTER_POST_REMOVE_REPLICA_MC_MSG, ) \
ACT(AFTER_POST_ADD_REPLICA_MC_MSG, ) \
ACT(DELAY_REMOVE_REPLICA, ) \
ACT(BEFORE_CHECK_ALL_PARTITION_MERGED, ) \
ACT(BEFORE_UPDATE_INDEX_STATUS, ) \
ACT(AFTER_MIGRATION_MARK, ) \
ACT(BEFORE_CHECK_FREEZING, ) \
ACT(AFTER_RELEASE_STORES, ) \
ACT(AFTER_SET_FREEZING, ) \
ACT(BEFORE_REPORT_SELF, ) \
ACT(BEFORE_START_RS, ) \
ACT(BEFORE_MAIN_SSTBALE_FINISH_TASK, ) \
ACT(BEFORE_INDEX_SSTBALE_FINISH_TASK, ) \
ACT(HANG_MERGE, ) \
ACT(BEFORE_BACKGROUND_WASH, ) \
ACT(HANG_HEART_BEAT_ON_RS, ) \
ACT(AFTER_BUILD_INDEX_FINISH, ) \
ACT(BEFORE_PARTITION_REPORT_CALLBACK, ) \
ACT(BEFORE_REBALANCE_SEND_TASK_RPC, ) \
ACT(BEFORE_BATCH_REMOVE_MEMBER, ) \
ACT(BEFORE_BATCH_ADD_MEMBER, ) \
ACT(UNIT_MANAGER_WAIT_FOR_TIMEOUT, ) \
ACT(BEFORE_RECYCLE_INTERM_RESULT, ) \
ACT(BEFORE_UPDATE_INDEX_BUILD_VERSION, ) \
ACT(AFTER_GLOBAL_INDEX_GET_SNAPSHOT, ) \
ACT(BEFORE_CHECK_GLOBAL_UNIQUE_INDEX, ) \
ACT(BEFORE_COPY_GLOBAL_INDEX, ) \
ACT(BEFORE_LOCAL_INDEX_WAIT_TRANS_END, ) \
ACT(BEFORE_LOCAL_INDEX_WAIT_TRANS_END_MID, ) \
ACT(BEFORE_LOCAL_INDEX_WAIT_SNAPSHOT_READY, ) \
ACT(BEFORE_LOCAL_INDEX_WAIT_SNAPSHOT_READY_MID, ) \
ACT(BEFORE_LOCAL_INDEX_CHOOSE_BUILD_INDEX_REPLICA, ) \
ACT(BEFORE_LOCAL_INDEX_CHOOSE_BUILD_INDEX_REPLICA_MID, ) \
ACT(BEFORE_LOCAL_INDEX_WAIT_CHOOSE_OR_BUILD_INDEX_END, ) \
ACT(BEFORE_LOCAL_INDEX_WAIT_CHOOSE_OR_BUILD_INDEX_END_MID, ) \
ACT(BEFORE_LOCAL_INDEX_COPY_BUILD_INDEX_DATA, ) \
ACT(BEFORE_LOCAL_INDEX_COPY_BUILD_INDEX_DATA_MID, ) \
ACT(BEFORE_LOCAL_INDEX_UNIQUE_INDEX_CHECKING, ) \
ACT(BEFORE_LOCAL_INDEX_UNIQUE_INDEX_CHECKING_MID, ) \
ACT(BEFORE_LOCAL_INDEX_WAIT_REPORT_STATUS, ) \
ACT(BEFORE_LOCAL_INDEX_WAIT_REPORT_STATUS_MID, ) \
ACT(BEFORE_LOCAL_INDEX_END, ) \
ACT(BEFORE_LOCAL_INDEX_END_MID, ) \
ACT(DEFORE_OBS_CREATE_PARTITION, ) \
ACT(DEFORE_FETCH_LOGIC_ROW_SRC, ) \
ACT(BEFORE_BUILD_MIGRATE_PARTITION_INFO, ) \
ACT(BEFORE_BUILD_MIGRATE_PARTITION_INFO_USER_TABLE, ) \
ACT(BEFORE_GET_MAJOR_MGERGE_TABLES, ) \
ACT(BEFORE_GET_MINOR_MGERGE_TABLES, ) \
ACT(BEFORE_GET_MAJOR_MERGE_TABLE_IDS, ) \
ACT(BEFORE_GET_MINOR_MERGE_TABLE_IDS, ) \
ACT(DAILY_MERGE_SCHEDULER_IDLE, ) \
ACT(BEFORE_CHECK_LOCALITY, ) \
ACT(BLOCK_GARBAGE_COLLECTOR, ) \
ACT(BEFORE_CREATE_INDEX_TASK, ) \
ACT(BEFORE_CLEAR_MIGRATE_STATUS, ) \
ACT(BEFORE_MERGE_CHECK_TASK, ) \
ACT(BEFORE_FINISH_MIGRATE_TASK, ) \
ACT(BEFORE_BUILD_LOCAL_INDEX_SCAN, ) \
ACT(BEFORE_CREATE_TABLE_TRANS_COMMIT, ) \
ACT(AFTER_TENANT_BALANCE_GATHER_STAT, ) \
ACT(BEFORE_RESTORE_PARTITIONS, ) \
ACT(BEFORE_BATCH_PROCESS_TASK, ) \
ACT(BEFORE_INSERT_ROWS, ) \
ACT(BEFORE_BUILD_LOCAL_INDEX_REFRESH_TABLES, ) \
ACT(BEFORE_BUILD_LOCAL_INDEX_REFRESH_TABLES_MID, ) \
ACT(BEFORE_SLOG_UPDATE_FLUSH_CURSOR, ) \
ACT(BEFORE_SCHEDULE_ALL_PARTITIONS, ) \
ACT(BEFORE_OBSERVER_SCHEDULE_MIGRATE, ) \
ACT(BEFORE_CREATE_TENANT_TRANS_TWO, ) \
ACT(MERGE_PARTITION_TASK, ) \
ACT(BEFORE_CHANGE_MEMBER_LIST, ) \
ACT(BEFORE_FOLLOWER_CLUSTER_SYNC_SCHEMA, ) \
ACT(BEFORE_UPDATE_STANBY_FREEZE_INFO, ) \
ACT(BEFORE_PROCESS_USER_SCHEMA, ) \
ACT(BEFORE_CREATE_TENANT_TRANS_THREE, ) \
ACT(BEFORE_GEN_NEXT_SCHEMA_VERSION, ) \
ACT(BLOCK_CALC_WRS, ) \
ACT(BEFORE_UPDATE_CORE_TABLE, ) \
ACT(BEFORE_REPLAY_ADD_PARTITION_TO_PG_CLOG, ) \
ACT(BEFORE_SEND_FLASHBACK_USER_RPC, ) \
ACT(BEFORE_SEND_FLASHBACK_RPC, ) \
ACT(BEFORE_UPDATE_GLOBAL_INDEX_STATUS, ) \
ACT(BEFORE_UPDATE_LOCAL_INDEX_STATUS, ) \
ACT(FINISH_ABORT_CREATE_INDEX, ) \
ACT(BEFORE_SWITCHOVER_FROM_PENDING_TO_PRIMARY, ) \
ACT(BEFORE_FAILOVER_FROM_PENDING_TO_FLASHBACK, ) \
ACT(BEFORE_SWITCHOVER_TO_PENDING, ) \
ACT(BEFORE_ADD_SWITCHOVER_TASK, ) \
ACT(BEFORE_WRITE_PARTITION_CHECK_POINT, ) \
ACT(BEFORE_UPDATE_FREEZE_SNAPSHOT_INFO, ) \
ACT(BEFORE_CREATE_PG_PARTITION, ) \
ACT(BEFORE_MERGE_FINISH, ) \
ACT(BEFORE_FREEZE_ASYNC_TASK, ) \
ACT(END_SEND_FLASHBACK_INNER_RPC, ) \
ACT(CREATE_TABLE_BEFORE_PUBLISH_SCHEMA, ) \
ACT(BEFORE_DAILY_MERGE_RUN, ) \
ACT(AFTER_ADD_SWITCHOVER_TASK, ) \
ACT(HUNG_SWITCH_TASK_QUEUE, ) \
ACT(FETCH_MACRO_BLOCK, ) \
ACT(BEFORE_WRITE_START_WORKING, ) \
ACT(BEFORE_SYNC_LOG_SUCCESS, ) \
ACT(BEFORE_DIST_COMMIT, ) \
ACT(BLOCK_FREEZE_INFO_UPDATE, ) \
ACT(BEFROE_DO_ROOT_BACKUP, ) \
ACT(BEFROE_DO_LOG_ARCHIVE_SCHEDULER, ) \
ACT(BEFROE_DO_STOP_TENANT_ARCHIVE, ) \
ACT(WRTIE_EXTERN_LOG_ARCHIVE_BACKUP_INFO, ) \
ACT(FAILED_TO_PROCESS_TO_PRIMARY, ) \
ACT(BEFORE_REFRESH_CLUSTER_ID, ) \
ACT(BEFORE_FIX_TENANT_SCHEMA_VERSION, ) \
ACT(BACKUP_INFO_PREPARE, ) \
ACT(BACKUP_INFO_SCHEDULER, ) \
ACT(BACKUP_INFO_BEFOR_DOING, ) \
ACT(BACKUP_INFO_BEFOR_CLEANUP, ) \
ACT(BACKUP_INFO_BEFOR_NORMAL_TENNAT_STOP, ) \
ACT(BACKUP_INFO_BEFOR_SYS_TENNAT_STOP, ) \
ACT(BACKUP_TASK_BEFOR_DOING, ) \
ACT(BACKUP_TASK_BEFOR_FINISH, ) \
ACT(BEFORE_PHYSICAL_RESTORE_TENANT, ) \
ACT(BEFORE_PHYSICAL_RESTORE_SYS_REPLICA, ) \
ACT(BEFORE_PHYSICAL_RESTORE_UPGRADE_PRE, ) \
ACT(BEFORE_PHYSICAL_RESTORE_DO_UPGRADE_PRE, ) \
ACT(BEFORE_PHYSICAL_RESTORE_UPGRADE_POST, ) \
ACT(BEFORE_PHYSICAL_RESTORE_DO_UPGRADE_POST, ) \
ACT(BEFORE_PHYSICAL_RESTORE_USER_REPLICA, ) \
ACT(BEFORE_PHYSICAL_RESTORE_REPLICA, ) \
ACT(BEFORE_PHYSICAL_RESTORE_SET_MEMBER_LIST, ) \
ACT(BEFORE_PHYSICAL_RESTORE_MODIFY_SCHEMA, ) \
ACT(BEFORE_PHYSICAL_RESTORE_USER_PARTITIONS, ) \
ACT(BEFORE_PHYSICAL_RESTORE_REBUILD_INDEX, ) \
ACT(BEFORE_PHYSICAL_RESTORE_POST_CHECK, ) \
ACT(BACKUP_BEFROE_CHOOSE_SRC, ) \
ACT(BACKUP_BEFROE_BUILD_TABLE_PARTITION_INFO, ) \
ACT(HANG_UPDATE_RS_LIST, ) \
ACT(PARTITION_BACKUP_TASK_BEFORE_ADD_TASK_IN_MGR, ) \
ACT(HANG_BEFORE_RESOLVER_FINISH, ) \
ACT(AFTER_GET_MERGE_LOG_ID, ) \
ACT(FAST_MIGRATE_AFTER_MIGRATE_OUT_CREATED, ) \
ACT(FAST_MIGRATE_AFTER_SUSPEND_SRC, ) \
ACT(NOTIFY_START_ARCHIVE_SUCC, ) \
ACT(LOG_ARCHIVE_SENDER_HANDLE, ) \
ACT(LOG_ARCHIVE_PUSH_LOG, ) \
ACT(END_PROCESS_USER_SCHEMA, ) \
ACT(BEFROE_LOG_ARCHIVE_SCHEDULE_BEGINNING, ) \
ACT(BEFROE_LOG_ARCHIVE_SCHEDULE_DOING, ) \
ACT(BEFROE_LOG_ARCHIVE_SCHEDULE_STOPPING, ) \
ACT(AFTER_FREEZE_BEFORE_MINI_MERGE, ) \
ACT(HUNG_HEARTBEAT_CHECK, ) \
ACT(BLOCK_WEAK_READ_TIMESTAMP, ) \
ACT(REPLAY_REDO_LOG, ) \
ACT(BEFORE_RECYCLE_PHYSICAL_RESTORE_JOB, ) \
ACT(BACKUP_DATA_CLEAN_STATUS_PREPARE, ) \
ACT(BACKUP_BEFORE_TRIGGER_FREEZE_PIECES, ) \
ACT(BACKUP_BEFORE_FROZEN_PIECES, ) \
ACT(BACKUP_DATA_SYS_CLEAN_STATUS_DOING, ) \
ACT(BACKUP_DATA_NORMAL_TENANT_CLEAN_STATUS_DOING, ) \
ACT(BACKUP_DATA_CLEAN_STATUS_SCHEDULE, ) \
ACT(BACKUP_DATA_CLEAN_STATUS_DOING, ) \
ACT(SYNC_PG_AND_REPLAY_ENGINE_DEADLOCK, ) \
ACT(BACKUP_DATA_VALIDATE_STATUS_SCHEDULE, ) \
ACT(BACKUP_DATA_VALIDATE_STATUS_DOING, ) \
ACT(MIGRATE_BEFORE_CREATE_REPLICA_SUB, ) \
ACT(MIGRATE_AFTER_CREATE_REPLICA_SUB, ) \
ACT(MIGRATE_AFTER_CREATE_PG_LOCK_DIR, ) \
ACT(MIGRATE_AFTER_CREATE_TASK_FILE, ) \
ACT(MIGRATE_BEFORE_CREATE_MIGRATE_IN, ) \
ACT(MIGRATE_AFTER_CREATE_MIGRATE_IN, ) \
ACT(MIGRATE_BEFORE_MARK_TASK_STATUS, ) \
ACT(MIGRATE_AFTER_MARK_TASK_STATUS, ) \
ACT(MIGRATE_AFTER_DELETE_TASK_FILE, ) \
ACT(MIGRATE_AFTER_DELETE_PG_LOCK_DIR, ) \
ACT(MIGRATE_AFTER_REMOVE_REPLICA_SUB, ) \
ACT(MIGRATE_AFTER_CREATE_MIGRATE_OUT, ) \
ACT(FAST_RECOVER_BEFORE_PREPROCESS, ) \
ACT(FAST_RECOVER_AFTER_PREPROCESS, ) \
ACT(FAST_RECOVER_BEFORE_PROCESS, ) \
ACT(FAST_RECOVER_MID_PROCESS1, ) \
ACT(FAST_RECOVER_MID_PROCESS2, ) \
ACT(FAST_RECOVER_MID_PROCESS3, ) \
ACT(FAST_RECOVER_MID_PROCESS4, ) \
ACT(FAST_RECOVER_AFTER_PROCESS, ) \
ACT(FAST_RECOVER_REPLAY_CLOG, ) \
ACT(ADD_TRIGGER_BEFORE_MAP, ) \
ACT(DEL_TRIGGER_BEFORE_MAP, ) \
ACT(STANDBY_CLUSTER_PARTITION_CREATE, ) \
ACT(AFTER_PREPARE_TENANT_BEGINNING_STATUS, ) \
ACT(AFTER_PREPARE_TENANT_BACKUP_BACKUP_BEGINNING, ) \
ACT(PREPARE_TENANT_BEGINNING_STATUS, ) \
ACT(DOING_MARK_AND_SWEEP, ) \
ACT(BEFORE_FINISH_SET_PROTECTION_MODE, ) \
ACT(BEFORE_STANDBY_HEARTBEAT, ) \
ACT(BEFORE_ALTER_TABLE_PARTITION, ) \
ACT(BEFORE_DO_MINOR_FREEZE, ) \
ACT(BEFORE_UPDATE_RESTORE_FLAG_RESTORE_LOG, ) \
ACT(SLOW_TXN_DURING_2PC_COMMIT_PHASE_FOR_PHYSICAL_BACKUP_1055, ) \
ACT(BEFORE_FORCE_DROP_SCHEMA, ) \
ACT(BLOCK_CLOG_PRIMARY_RECONFIRM, ) \
ACT(BEFORE_DEAL_WITH_FAILED_BACKUP_BACKUPSET_TASK, ) \
ACT(BEFORE_START_BACKUP_ARCHIVELOG_TASK, ) \
ACT(SYNC_REPORT, ) \
ACT(BEFORE_PERSIST_MEMBER_LIST, ) \
ACT(BEFORE_SEND_SET_MEMBER_LIST_RPC, ) \
ACT(BEFORE_ALTER_TABLE_COLUMN, ) \
ACT(BEFORE_REPORT_BACKUP_BACKUPSET_TASK, ) \
ACT(BEFORE_FINISH_BACKUP_ARCHIVELOG_TASK, ) \
ACT(BEFORE_BACKUP_BACKUPSET_FINISH, ) \
ACT(BEFORE_CALC_BACKUP_BACKUPSET_COPY_ID, ) \
ACT(BEFORE_GET_BACKUP_BACKUPSET_COPY_ID, ) \
ACT(BACKUP_BACKUPSET_COPYING, ) \
ACT(BEFORE_BACKUP_BACKUPPIECE_TASK_COMMIT, ) \
ACT(BEFORE_CHECK_BACKUP_TASK_DATA_AVAILABLE, ) \
ACT(BACKUP_BACKUPPIECE_AFTER_SCHEDULE, ) \
ACT(FOLLOWER_BEFORE_UPDATE_RESTORE_FLAG_RESTORE_LOG, ) \
ACT(MAX_DEBUG_SYNC_POINT, )
DECLARE_ENUM(ObDebugSyncPoint, debug_sync_point, OB_DEBUG_SYNC_POINT_DEF);
} // end namespace common
} // end namespace oceanbase
#endif // OCEANBASE_COMMON_OB_DEBUG_SYNC_POINT_H_