提交 f5f17067 编写于 作者: O obdev 提交者: ob-robot

Fix: core at oceanbase::sql::ObBasicSessionInfo::get_sync_sys_vars at...

Fix: core at oceanbase::sql::ObBasicSessionInfo::get_sync_sys_vars at ./src/sql/session/ob_basic_session_info.cpp
上级 276d9034
......@@ -72,8 +72,14 @@ int ObMPUtils::add_changed_session_info(OMPKOK &ok_pkt, sql::ObSQLSessionInfo &s
} else if (OB_FAIL(ok_pkt.add_system_var(str_kv))) {
LOG_WARN("failed to add system variable", K(str_kv), K(ret));
} else {
#ifndef NDEBUG
LOG_TRACE("success add system var to ok pack", K(str_kv), K(change_var), K(new_val),
K(session.get_sessid()), K(session.get_proxy_sessid()));
#else
// for autocommit change record.
LOG_INFO("success add system var to ok pack", K(str_kv), K(change_var), K(new_val),
K(session.get_sessid()), K(session.get_proxy_sessid()), K(change_var.id_));
#endif
}
} else {
LOG_TRACE("sys var not actully changed", K(changed), K(change_var), K(new_val),
......
......@@ -1779,7 +1779,9 @@ int ObBasicSessionInfo::deep_copy_sys_variable(ObBasicSysVar &sys_var,
int32_t next_index = (current_buf_index_ == 0 ? 1 : 0);
LOG_INFO("Too much memory used for system variable values. do defragment",
"before", inc_sys_var_alloc_[current_buf_index_]->used(),
"after", inc_sys_var_alloc_[next_index]->used());
"after", inc_sys_var_alloc_[next_index]->used(),
"ids", sys_var_inc_info_.get_all_sys_var_ids(),
K(sessid_), K(proxy_sessid_));
defragment_sys_variable_to(tmp_value);
inc_sys_var_alloc_[current_buf_index_]->reset();
current_buf_index_ = next_index;
......@@ -3743,6 +3745,9 @@ int ObBasicSessionInfo::deserialize_sync_sys_vars(int64_t &deserialize_sys_var_c
}
} else if (OB_FAIL(create_sys_var(sys_var_id, store_idx, sys_var))) {
LOG_WARN("fail to create sys var", K(sys_var_id), K(ret));
} else if (!sys_var_inc_info_.all_has_sys_var_id(sys_var_id) &&
OB_FAIL(sys_var_inc_info_.add_sys_var_id(sys_var_id))) {
LOG_WARN("fail to add sys var id", K(sys_var_id), K(ret));
} else if (OB_ISNULL(sys_var)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("create sys var is NULL", K(ret));
......@@ -3757,13 +3762,6 @@ int ObBasicSessionInfo::deserialize_sync_sys_vars(int64_t &deserialize_sys_var_c
LOG_TRACE("deserialize sync sys var", K(sys_var_id), K(*sys_var),
K(sessid_), K(proxy_sessid_));
}
// update the current session's array if there is no updated deserialization sys_var.
if (!sys_var_inc_info_.all_has_sys_var_id(sys_var_id)) {
if (OB_SUCC(ret) && OB_FAIL(sys_var_inc_info_.add_sys_var_id(sys_var_id))) {
LOG_WARN("fail to add sys var id", K(sys_var_id), K(ret));
}
}
// add all deserialize sys_var id.
if (OB_SUCC(ret) && OB_FAIL(tmp_sys_var_inc_info.add_sys_var_id(sys_var_id))) {
LOG_WARN("fail to add sys var id", K(sys_var_id), K(ret));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册