【资源池化】同步dms_buf_res_rebuild_drc_parallel的修改
This commit is contained in:
@ -269,9 +269,9 @@ int dms_buf_res_rebuild_drc(dms_context_t *dms_ctx, dms_buf_ctrl_t *ctrl, unsign
|
||||
}
|
||||
|
||||
int dms_buf_res_rebuild_drc_parallel(dms_context_t *dms_ctx, dms_ctrl_info_t *ctrl_info, unsigned char thread_index,
|
||||
unsigned char for_rebuild)
|
||||
unsigned char for_rebuild, unsigned char can_release, unsigned char *release)
|
||||
{
|
||||
return g_ss_dms_func.dms_buf_res_rebuild_drc_parallel(dms_ctx, ctrl_info, thread_index, for_rebuild);
|
||||
return g_ss_dms_func.dms_buf_res_rebuild_drc_parallel(dms_ctx, ctrl_info, thread_index, for_rebuild, can_release, release);
|
||||
}
|
||||
|
||||
int dms_is_recovery_session(unsigned int sid)
|
||||
|
||||
@ -1097,7 +1097,8 @@ static int32 SSRebuildBuf(BufferDesc *buf_desc, unsigned char thread_index)
|
||||
ctrl_info.ctrl = *buf_ctrl;
|
||||
ctrl_info.lsn = (unsigned long long)BufferGetLSN(buf_desc);
|
||||
ctrl_info.is_dirty = (buf_desc->state & (BM_DIRTY | BM_JUST_DIRTIED)) > 0 ? true : false;
|
||||
int ret = dms_buf_res_rebuild_drc_parallel(&dms_ctx, &ctrl_info, thread_index, true);
|
||||
unsigned char release = false; // not used in openGauss, just adapt interface
|
||||
int ret = dms_buf_res_rebuild_drc_parallel(&dms_ctx, &ctrl_info, thread_index, true, false, &release);
|
||||
if (ret != DMS_SUCCESS) {
|
||||
ereport(WARNING, (errmsg("Failed to rebuild page, rel:%u/%u/%u/%d, forknum:%d, blocknum:%u.",
|
||||
buf_desc->tag.rnode.spcNode, buf_desc->tag.rnode.dbNode, buf_desc->tag.rnode.relNode,
|
||||
|
||||
@ -58,7 +58,7 @@ typedef struct st_ss_dms_func {
|
||||
int (*dms_buf_res_rebuild_drc)(dms_context_t *dms_ctx, dms_buf_ctrl_t *ctrl, unsigned long long lsn,
|
||||
unsigned char is_dirty);
|
||||
int (*dms_buf_res_rebuild_drc_parallel)(dms_context_t *dms_ctx, dms_ctrl_info_t *ctrl_info, unsigned char thread_index,
|
||||
unsigned char for_rebuild);
|
||||
unsigned char for_rebuild, unsigned char can_release, unsigned char *release);
|
||||
int (*dms_is_recovery_session)(unsigned int sid);
|
||||
int (*drc_get_page_master_id)(char pageid[DMS_PAGEID_SIZE], unsigned char *master_id);
|
||||
int (*dms_register_ssl_decrypt_pwd)(dms_decrypt_pwd_t cb_func);
|
||||
@ -105,7 +105,7 @@ void dms_get_event(dms_wait_event_t event_type, unsigned long long *event_cnt, u
|
||||
int dms_buf_res_rebuild_drc(dms_context_t *dms_ctx, dms_buf_ctrl_t *ctrl, unsigned long long lsn,
|
||||
unsigned char is_dirty);
|
||||
int dms_buf_res_rebuild_drc_parallel(dms_context_t *dms_ctx, dms_ctrl_info_t *ctrl_info, unsigned char thread_index,
|
||||
unsigned char for_rebuild);
|
||||
unsigned char for_rebuild, unsigned char can_release, unsigned char *release);
|
||||
int dms_is_recovery_session(unsigned int sid);
|
||||
int drc_get_page_master_id(char pageid[DMS_PAGEID_SIZE], unsigned char *master_id);
|
||||
int dms_register_ssl_decrypt_pwd(dms_decrypt_pwd_t cb_func);
|
||||
|
||||
Reference in New Issue
Block a user