解决按需回放部分问题:
1.回放drop类型操作时的空指针异常; 2.按需回放故障内又故障时,第二次故障禁用按需回放; 3.按需回放阶段被恢复节点不允许加入集群,由打印warning并在后台等待修改为退出,避免normal reform时集群卡住
This commit is contained in:
@ -242,7 +242,11 @@ void WaitAllRedoWorkerQueueEmpty();
|
||||
void WaitAllReplayWorkerIdle();
|
||||
void DispatchClosefdMarkToAllRedoWorker();
|
||||
void DispatchCleanInvalidPageMarkToAllRedoWorker(RepairFileKey key);
|
||||
|
||||
void ClearRecoveryThreadHashTbl(const RelFileNode &node, ForkNumber forknum, BlockNumber minblkno,
|
||||
bool segment_shrink);
|
||||
void BatchClearRecoveryThreadHashTbl(Oid spcNode, Oid dbNode);
|
||||
void RecordBadBlockAndPushToRemote(XLogBlockDataParse *datadecode, PageErrorType error_type,
|
||||
XLogRecPtr old_lsn, XLogPhyBlock pblk);
|
||||
const char *RedoWokerRole2Str(RedoRole role);
|
||||
|
||||
} // namespace ondemand_extreme_rto
|
||||
|
||||
@ -143,7 +143,8 @@
|
||||
#define SS_PRIMARY_STANDBY_CLUSTER_NORMAL_STANDBY \
|
||||
(SS_NORMAL_STANDBY && (g_instance.attr.attr_storage.xlog_file_path != 0))
|
||||
|
||||
#define SS_CLUSTER_NOT_NORAML (ENABLE_DMS && (g_instance.dms_cxt.SSReformerControl.clusterStatus != CLUSTER_NORMAL))
|
||||
#define SS_CLUSTER_ONDEMAND_NOT_NORAML \
|
||||
(ENABLE_DMS && (g_instance.dms_cxt.SSReformerControl.clusterStatus != CLUSTER_NORMAL))
|
||||
#define SS_CLUSTER_ONDEMAND_BUILD \
|
||||
(ENABLE_DMS && (g_instance.dms_cxt.SSReformerControl.clusterStatus == CLUSTER_IN_ONDEMAND_BUILD))
|
||||
#define SS_CLUSTER_ONDEMAND_RECOVERY \
|
||||
|
||||
Reference in New Issue
Block a user