diff --git a/deps/oblib/src/lib/utility/ob_tracepoint.h b/deps/oblib/src/lib/utility/ob_tracepoint.h index 36f0637699..e7d4100d30 100644 --- a/deps/oblib/src/lib/utility/ob_tracepoint.h +++ b/deps/oblib/src/lib/utility/ob_tracepoint.h @@ -758,6 +758,7 @@ class EventTable EN_SESS_POOL_MGR_CTRL = 1186, // session info diagnosis control // EN_SESS_INFO_DIAGNOSIS_CONTROL = 1187, + // EN_SESS_CLEAN_KILL_MAP_TIME = 1188, EN_ENABLE_NEWSORT_FORCE = 1200, // Transaction // 2001 - 2100 diff --git a/deps/oblib/src/rpc/obrpc/ob_rpc_packet_list.h b/deps/oblib/src/rpc/obrpc/ob_rpc_packet_list.h index c35f90d771..fcfc0b8fb2 100644 --- a/deps/oblib/src/rpc/obrpc/ob_rpc_packet_list.h +++ b/deps/oblib/src/rpc/obrpc/ob_rpc_packet_list.h @@ -1062,10 +1062,6 @@ PCODE_DEF(OB_DIRECT_LOAD_CONTROL, 0x1604) // PCODE_DEF(OB_FLUSH_LS_ARCHIVE, 0x1606) // PCODE_DEF(OB_ACQUIRE_LS_TRANSFER_SCN, 0x1607) -// kill client session. -// PCODE_DEF(OB_KILL_CLIENT_SESSION, 0x1608) -// obtain client session create time. -// PCODE_DEF(OB_CLIENT_SESSION_CONNECT_TIME, 0x1609) // create materialized view log // PCODE_DEF(OB_CREATE_MLOG, 0x1608) @@ -1089,3 +1085,8 @@ PCODE_DEF(OB_DIRECT_LOAD_CONTROL, 0x1604) // for direct load resource // PCODE_DEF(OB_DIRECT_LOAD_RESOURCE, 0x1613) + +// kill client session. +// PCODE_DEF(OB_KILL_CLIENT_SESSION, 0x1614) +// obtain client session create time. +// PCODE_DEF(OB_CLIENT_SESSION_CONNECT_TIME, 0x1615) diff --git a/src/share/inner_table/ob_inner_table_schema.28101_28150.cpp b/src/share/inner_table/ob_inner_table_schema.28101_28150.cpp index b1a55f954d..580cd3a742 100644 --- a/src/share/inner_table/ob_inner_table_schema.28101_28150.cpp +++ b/src/share/inner_table/ob_inner_table_schema.28101_28150.cpp @@ -960,7 +960,7 @@ int ObInnerTableSchema::gv_ob_processlist_ora_schema(ObTableSchema &table_schema table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset())); if (OB_SUCC(ret)) { - if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT SVR_IP, SVR_PORT, SQL_PORT, ID, "USER", HOST, DB, TENANT, COMMAND, TIME, TOTAL_TIME, STATE, INFO, PROXY_SESSID, MASTER_SESSID, USER_CLIENT_IP, USER_HOST, RETRY_CNT, RETRY_INFO, SQL_ID, TRANS_ID, THREAD_ID, SSL_CIPHER, TRACE_ID, TRANS_STATE, ACTION, MODULE, CLIENT_INFO, "LEVEL", SAMPLE_PERCENTAGE, RECORD_POLICY, LB_VID, LB_VIP, LB_VPORT, IN_BYTES, OUT_BYTES FROM SYS.ALL_VIRTUAL_PROCESSLIST )__"))) { + if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT SVR_IP, SVR_PORT, SQL_PORT, ID, "USER", HOST, DB, TENANT, COMMAND, TIME, TOTAL_TIME, STATE, INFO, PROXY_SESSID, MASTER_SESSID, USER_CLIENT_IP, USER_HOST, RETRY_CNT, RETRY_INFO, SQL_ID, TRANS_ID, THREAD_ID, SSL_CIPHER, TRACE_ID, TRANS_STATE, ACTION, MODULE, CLIENT_INFO, "LEVEL", SAMPLE_PERCENTAGE, RECORD_POLICY, LB_VID, LB_VIP, LB_VPORT, IN_BYTES, OUT_BYTES, USER_CLIENT_PORT FROM SYS.ALL_VIRTUAL_PROCESSLIST )__"))) { LOG_ERROR("fail to set view_definition", K(ret)); } } diff --git a/src/share/inner_table/ob_inner_table_schema_def.py b/src/share/inner_table/ob_inner_table_schema_def.py index 264e35d44c..6e840a4fc0 100644 --- a/src/share/inner_table/ob_inner_table_schema_def.py +++ b/src/share/inner_table/ob_inner_table_schema_def.py @@ -52767,7 +52767,8 @@ SELECT LB_VIP, LB_VPORT, IN_BYTES, - OUT_BYTES + OUT_BYTES, + USER_CLIENT_PORT FROM SYS.ALL_VIRTUAL_PROCESSLIST """.replace("\n", " ") ) diff --git a/src/sql/session/ob_basic_session_info.cpp b/src/sql/session/ob_basic_session_info.cpp index f8c0af86d8..7b15a35838 100644 --- a/src/sql/session/ob_basic_session_info.cpp +++ b/src/sql/session/ob_basic_session_info.cpp @@ -149,7 +149,8 @@ ObBasicSessionInfo::ObBasicSessionInfo(const uint64_t tenant_id) thread_id_(0), is_password_expired_(false), process_query_time_(0), - last_update_tz_time_(0) + last_update_tz_time_(0), + is_client_sessid_support_(false) { thread_data_.reset(); MEMSET(sys_vars_, 0, sizeof(sys_vars_)); @@ -433,6 +434,7 @@ void ObBasicSessionInfo::reset(bool skip_sys_var) is_password_expired_ = false; process_query_time_ = 0; last_update_tz_time_ = 0; + is_client_sessid_support_ = false; sess_bt_buff_pos_ = 0; ATOMIC_SET(&sess_ref_cnt_ , 0); // 最后再重置所有allocator @@ -4393,7 +4395,8 @@ OB_DEF_SERIALIZE(ObBasicSessionInfo) flt_vars_.last_flt_trace_id_, flt_vars_.row_traceformat_, flt_vars_.last_flt_span_id_, - exec_min_cluster_version_); + exec_min_cluster_version_, + is_client_sessid_support_); }(); return ret; } @@ -4593,6 +4596,10 @@ OB_DEF_DESERIALIZE(ObBasicSessionInfo) } else { exec_min_cluster_version_ = CLUSTER_VERSION_4_0_0_0; } + if (OB_SUCC(ret) && pos < data_len) { + LST_DO_CODE(OB_UNIS_DECODE, + is_client_sessid_support_); + } // deep copy string. if (OB_SUCC(ret)) { if (OB_FAIL(name_pool_.write_string(app_trace_id_, &app_trace_id_))) { @@ -4905,7 +4912,8 @@ OB_DEF_SERIALIZE_SIZE(ObBasicSessionInfo) flt_vars_.last_flt_trace_id_, flt_vars_.row_traceformat_, flt_vars_.last_flt_span_id_, - exec_min_cluster_version_); + exec_min_cluster_version_, + is_client_sessid_support_); return len; } diff --git a/src/sql/session/ob_basic_session_info.h b/src/sql/session/ob_basic_session_info.h index 19687abe4e..de52b6edaf 100644 --- a/src/sql/session/ob_basic_session_info.h +++ b/src/sql/session/ob_basic_session_info.h @@ -2245,6 +2245,7 @@ private: // timestamp of processing current query. refresh when retry. int64_t process_query_time_; int64_t last_update_tz_time_; //timestamp of last attempt to update timezone info + bool is_client_sessid_support_; //client session id support flag };