解决按需回放中,未升主备机lsn校验失败的问题;删除按需回放支持升级

This commit is contained in:
chendong76
2023-09-21 11:25:26 +08:00
parent fa0f975fcb
commit 5c60de8ba4
19 changed files with 113 additions and 189 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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);

View File

@ -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

View File

@ -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