[CP] #2024111900105209389] fix memory bloat with sql session in reset connection
This commit is contained in:
parent
b3aa344d94
commit
9e99717618
@ -70,7 +70,7 @@ int ObMPResetConnection::process()
|
||||
const ObMySQLRawPacket &pkt = reinterpret_cast<const ObMySQLRawPacket&>(req_->get_packet());
|
||||
session->update_last_active_time();
|
||||
session->set_query_start_time(ObTimeUtility::current_time());
|
||||
LOG_DEBUG("begin reset connection. ", K(session->get_sessid()), K(session->get_effective_tenant_id()));
|
||||
LOG_TRACE("begin reset connection. ", K(session->get_sessid()), K(session->get_effective_tenant_id()));
|
||||
tenant_id = session->get_effective_tenant_id();
|
||||
session->set_txn_free_route(pkt.txn_free_route());
|
||||
if (OB_FAIL(process_extra_info(*session, pkt, need_response_error))) {
|
||||
|
@ -360,8 +360,9 @@ int ObBasicSessionInfo::reset_sys_vars()
|
||||
influence_plan_var_indexs_.reset();
|
||||
sys_vars_cache_.reset();
|
||||
sys_var_inc_info_.reset();
|
||||
sys_var_in_pc_str_.reset();
|
||||
is_first_gen_ = true;
|
||||
if (!sys_var_in_pc_str_.empty()) {
|
||||
sys_var_in_pc_str_.set_length(0);
|
||||
}
|
||||
conn_level_name_pool_.reset();
|
||||
inc_sys_var_alloc1_.reset();
|
||||
inc_sys_var_alloc2_.reset();
|
||||
@ -1652,7 +1653,7 @@ int ObBasicSessionInfo::gen_sys_var_in_pc_str()
|
||||
} else {
|
||||
buf = sys_var_in_pc_str_.ptr();
|
||||
MEMSET(buf, 0, sys_var_in_pc_str_.length());
|
||||
sys_var_in_pc_str_.reset();
|
||||
sys_var_in_pc_str_.set_length(0);
|
||||
}
|
||||
int64_t sys_var_encode_max_size = get_sys_vars_encode_max_size();
|
||||
if (OB_FAIL(ret)) {
|
||||
@ -1664,7 +1665,7 @@ int ObBasicSessionInfo::gen_sys_var_in_pc_str()
|
||||
// expand MAX_SYS_VARS_STR_SIZE 3 times.
|
||||
for (int64_t i = 0; OB_SUCC(ret) && i < 3; ++i) {
|
||||
sys_var_encode_max_size = 2 * sys_var_encode_max_size;
|
||||
if (NULL == (buf = (char *)conn_level_name_pool_.alloc(sys_var_encode_max_size))) {
|
||||
if (NULL == (buf = (char *)sess_level_name_pool_.alloc(sys_var_encode_max_size))) {
|
||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
||||
LOG_WARN("fail to allocator memory", K(ret), K(sys_var_encode_max_size));
|
||||
} else if (OB_FAIL(sys_vars.serialize_sys_vars(buf, sys_var_encode_max_size, pos))) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user