[CP] [CP] fix plan cache core while executing remote plan
This commit is contained in:
@ -647,7 +647,6 @@ int ObRemoteBaseExecuteP<T>::execute_with_sql(ObRemoteTask &task)
|
|||||||
|
|
||||||
// 设置诊断功能环境
|
// 设置诊断功能环境
|
||||||
if (OB_SUCC(ret)) {
|
if (OB_SUCC(ret)) {
|
||||||
ObReqTimeGuard req_timeinfo_guard;
|
|
||||||
ObSessionStatEstGuard stat_est_guard(session->get_effective_tenant_id(), session->get_sessid());
|
ObSessionStatEstGuard stat_est_guard(session->get_effective_tenant_id(), session->get_sessid());
|
||||||
// 初始化ObTask的执行环节
|
// 初始化ObTask的执行环节
|
||||||
//
|
//
|
||||||
|
|||||||
@ -30,6 +30,7 @@ public:
|
|||||||
ObRemoteBaseExecuteP(const observer::ObGlobalContext &gctx, bool is_execute_remote_plan = false)
|
ObRemoteBaseExecuteP(const observer::ObGlobalContext &gctx, bool is_execute_remote_plan = false)
|
||||||
: obrpc::ObRpcProcessor<T>(),
|
: obrpc::ObRpcProcessor<T>(),
|
||||||
gctx_(gctx),
|
gctx_(gctx),
|
||||||
|
rt_guard_(),
|
||||||
guard_(MAX_HANDLE),
|
guard_(MAX_HANDLE),
|
||||||
exec_ctx_(CURRENT_CONTEXT->get_arena_allocator(), gctx.session_mgr_),
|
exec_ctx_(CURRENT_CONTEXT->get_arena_allocator(), gctx.session_mgr_),
|
||||||
vt_iter_factory_(*gctx_.vt_iter_creator_),
|
vt_iter_factory_(*gctx_.vt_iter_creator_),
|
||||||
@ -78,6 +79,8 @@ protected:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
const observer::ObGlobalContext &gctx_;
|
const observer::ObGlobalContext &gctx_;
|
||||||
|
// request time info guard
|
||||||
|
observer::ObReqTimeGuard rt_guard_;
|
||||||
sql::ObCacheObjGuard guard_;
|
sql::ObCacheObjGuard guard_;
|
||||||
sql::ObDesExecContext exec_ctx_;
|
sql::ObDesExecContext exec_ctx_;
|
||||||
observer::ObVirtualTableIteratorFactory vt_iter_factory_;
|
observer::ObVirtualTableIteratorFactory vt_iter_factory_;
|
||||||
|
|||||||
Reference in New Issue
Block a user