diff --git a/src/logservice/libobcdc/src/ob_log_ls_fetch_ctx.cpp b/src/logservice/libobcdc/src/ob_log_ls_fetch_ctx.cpp index e2d95206b9..f1c1b01e37 100644 --- a/src/logservice/libobcdc/src/ob_log_ls_fetch_ctx.cpp +++ b/src/logservice/libobcdc/src/ob_log_ls_fetch_ctx.cpp @@ -77,6 +77,7 @@ int LSFetchCtxUpdateSourceFunctor::operator()(const ObLSID &id, logservice::ObRe /////////////////////////////// LSFetchCtx ///////////////////////////////// LSFetchCtx::LSFetchCtx() : + source_(NULL), remote_iter_(LSFetchCtxGetSourceFunctor(*this), LSFetchCtxUpdateSourceFunctor(*this)) { diff --git a/src/logservice/logfetcher/ob_log_ls_fetch_ctx.cpp b/src/logservice/logfetcher/ob_log_ls_fetch_ctx.cpp index 12721ed42a..40e36d6956 100644 --- a/src/logservice/logfetcher/ob_log_ls_fetch_ctx.cpp +++ b/src/logservice/logfetcher/ob_log_ls_fetch_ctx.cpp @@ -78,6 +78,7 @@ int LSFetchCtxUpdateSourceFunctor::operator()(const ObLSID &id, logservice::ObRe /////////////////////////////// LSFetchCtx ///////////////////////////////// LSFetchCtx::LSFetchCtx() : + source_(NULL), remote_iter_(LSFetchCtxGetSourceFunctor(*this), LSFetchCtxUpdateSourceFunctor(*this)) { reset(); diff --git a/src/logservice/restoreservice/ob_remote_log_source_allocator.cpp b/src/logservice/restoreservice/ob_remote_log_source_allocator.cpp index 53b7e4386e..16fe34e3b2 100644 --- a/src/logservice/restoreservice/ob_remote_log_source_allocator.cpp +++ b/src/logservice/restoreservice/ob_remote_log_source_allocator.cpp @@ -36,6 +36,7 @@ ObRemoteLogParent *ObResSrcAlloctor::alloc(const share::ObLogRestoreSourceType & source = OB_NEW(ObRemoteLocationParent, "LocSource", ls_id); break; default: + CLOG_LOG_RET(ERROR, OB_ERR_UNEXPECTED, "cannot allocate ObRemoteLogParent for invalid type", K(type), K(ls_id)); break; } } @@ -45,7 +46,8 @@ ObRemoteLogParent *ObResSrcAlloctor::alloc(const share::ObLogRestoreSourceType & void ObResSrcAlloctor::free(ObRemoteLogParent *source) { if (NULL != source) { - switch (source->get_source_type()) { + const share::ObLogRestoreSourceType type = source->get_source_type(); + switch (type) { case share::ObLogRestoreSourceType::SERVICE: MTL_DELETE(ObRemoteLogParent, "SerSource", source); break; @@ -56,6 +58,7 @@ void ObResSrcAlloctor::free(ObRemoteLogParent *source) MTL_DELETE(ObRemoteLogParent, "LocSource", source); break; default: + CLOG_LOG_RET(ERROR, OB_ERR_UNEXPECTED, "cannot free ObRemoteLogParent for a invalid type", K(type), KP(source)); break; } source = NULL;