解决按需回放中,未升主备机lsn校验失败的问题;删除按需回放支持升级
This commit is contained in:
@ -99,16 +99,17 @@
|
||||
/* Mode in dorado hyperreplication and dms enabled as follow */
|
||||
|
||||
#define SS_CLUSTER_ONDEMAND_NOT_NORAML \
|
||||
(ENABLE_DMS && (g_instance.dms_cxt.SSReformerControl.clusterStatus != CLUSTER_NORMAL))
|
||||
(ENABLE_DMS && (g_instance.dms_cxt.SSRecoveryInfo.cluster_ondemand_status!= CLUSTER_NORMAL))
|
||||
#define SS_CLUSTER_ONDEMAND_BUILD \
|
||||
(ENABLE_DMS && (g_instance.dms_cxt.SSReformerControl.clusterStatus == CLUSTER_IN_ONDEMAND_BUILD))
|
||||
(ENABLE_DMS && (g_instance.dms_cxt.SSRecoveryInfo.cluster_ondemand_status== CLUSTER_IN_ONDEMAND_BUILD))
|
||||
#define SS_CLUSTER_ONDEMAND_RECOVERY \
|
||||
(ENABLE_DMS && (g_instance.dms_cxt.SSReformerControl.clusterStatus == CLUSTER_IN_ONDEMAND_REDO))
|
||||
(ENABLE_DMS && (g_instance.dms_cxt.SSRecoveryInfo.cluster_ondemand_status== CLUSTER_IN_ONDEMAND_REDO))
|
||||
#define SS_CLUSTER_ONDEMAND_NORMAL \
|
||||
(ENABLE_DMS && (g_instance.dms_cxt.SSReformerControl.clusterStatus == CLUSTER_NORMAL))
|
||||
(ENABLE_DMS && (g_instance.dms_cxt.SSRecoveryInfo.cluster_ondemand_status== CLUSTER_NORMAL))
|
||||
#define SS_STANDBY_ONDEMAND_BUILD (SS_STANDBY_MODE && SS_CLUSTER_ONDEMAND_BUILD)
|
||||
#define SS_STANDBY_ONDEMAND_RECOVERY (SS_STANDBY_MODE && SS_CLUSTER_ONDEMAND_RECOVERY)
|
||||
#define SS_STANDBY_ONDEMAND_NORMAL (SS_STANDBY_MODE && SS_CLUSTER_ONDEMAND_NORMAL)
|
||||
#define SS_STANDBY_ONDEMAND_NOT_NORMAL (SS_STANDBY_MODE && SS_CLUSTER_ONDEMAND_NOT_NORAML)
|
||||
|
||||
/* DMS_BUF_NEED_LOAD */
|
||||
#define BUF_NEED_LOAD 0x1
|
||||
@ -164,6 +165,7 @@ typedef enum SSBroadcastOp {
|
||||
BCAST_DDLLOCKRELEASE_ALL,
|
||||
BCAST_CHECK_DB_BACKENDS,
|
||||
BCAST_SEND_SNAPSHOT,
|
||||
BCAST_RELOAD_REFORM_CTRL_PAGE,
|
||||
BCAST_END
|
||||
} SSBroadcastOp;
|
||||
|
||||
|
||||
@ -88,6 +88,7 @@ typedef struct ss_recovery_info {
|
||||
volatile failover_ckpt_status_t failover_ckpt_status;
|
||||
char recovery_xlog_dir[MAXPGPATH];
|
||||
int recovery_inst_id;
|
||||
volatile SSGlobalClusterState cluster_ondemand_status;
|
||||
int instid_list[DMS_MAX_INSTANCE];
|
||||
LWLock* update_seg_lock;
|
||||
bool new_primary_reset_walbuf_flag;
|
||||
|
||||
@ -44,7 +44,7 @@ int SSReadXlogInternal(XLogReaderState *xlogreader, XLogRecPtr targetPagePtr, XL
|
||||
XLogReaderState *SSXLogReaderAllocate(XLogPageReadCB pagereadfunc, void *private_data, Size alignedSize);
|
||||
void SSGetRecoveryXlogPath();
|
||||
void SSDoradoGetInstidList();
|
||||
void SSSaveReformerCtrl(bool force = false);
|
||||
void SSUpdateReformerCtrl();
|
||||
void SSReadControlFile(int id, bool updateDmsCtx = false);
|
||||
void SSClearSegCache();
|
||||
int SSCancelTransactionOfAllStandby(SSBroadcastOp type);
|
||||
|
||||
@ -122,5 +122,7 @@ bool SSCheckDbBackendsFromAllStandby(Oid dbid);
|
||||
void SSStandbyUpdateRedirectInfo();
|
||||
void SSSendLatestSnapshotToStandby(TransactionId xmin, TransactionId xmax, CommitSeqNo csn);
|
||||
int SSUpdateLatestSnapshotOfStandby(char *data, uint32 len);
|
||||
int SSReloadReformCtrlPage(uint32 len);
|
||||
void SSRequestAllStandbyReloadReformCtrlPage();
|
||||
|
||||
#endif
|
||||
|
||||
@ -42,7 +42,6 @@ extern const uint32 PARAM_MARK_VERSION_NUM;
|
||||
extern const uint32 TIMESCALE_DB_VERSION_NUM;
|
||||
extern const uint32 NBTREE_INSERT_OPTIMIZATION_VERSION_NUM;
|
||||
extern const uint32 NBTREE_DEDUPLICATION_VERSION_NUM;
|
||||
extern const uint32 ONDEMAND_REDO_VERSION_NUM;
|
||||
extern const uint32 MULTI_CHARSET_VERSION_NUM;
|
||||
extern const uint32 SRF_FUSION_VERSION_NUM;
|
||||
extern const uint32 INNER_UNIQUE_VERSION_NUM;
|
||||
@ -139,7 +138,6 @@ extern const uint32 GB18030_2022_VERSION_NUM;
|
||||
|
||||
extern void register_backend_version(uint32 backend_version);
|
||||
extern bool contain_backend_version(uint32 version_number);
|
||||
extern void SSUpgradeFileBeforeCommit();
|
||||
|
||||
#define INPLACE_UPGRADE_PRECOMMIT_VERSION 1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user