diff --git a/deps/oblib/src/rpc/ob_lock_wait_node.cpp b/deps/oblib/src/rpc/ob_lock_wait_node.cpp index 50098784bb..22f9786797 100644 --- a/deps/oblib/src/rpc/ob_lock_wait_node.cpp +++ b/deps/oblib/src/rpc/ob_lock_wait_node.cpp @@ -31,6 +31,7 @@ void ObLockWaitNode::set(void* addr, const int64_t last_compact_cnt, const int64_t total_trans_node_cnt, const char* key, + const uint32_t sess_id, int64_t tx_id, int64_t holder_tx_id) { hash_ = hash | 1; @@ -39,6 +40,7 @@ void ObLockWaitNode::set(void* addr, lock_seq_ = lock_seq; abs_timeout_ = timeout; tablet_id_ = tablet_id;//used for gv$lock_wait_stat + sessid_ = sess_id; tx_id_ = tx_id;//requester used for deadlock detection holder_tx_id_ = holder_tx_id; // txn id of lock holder last_compact_cnt_ = last_compact_cnt, diff --git a/deps/oblib/src/rpc/ob_lock_wait_node.h b/deps/oblib/src/rpc/ob_lock_wait_node.h index eccccee425..7398debe90 100644 --- a/deps/oblib/src/rpc/ob_lock_wait_node.h +++ b/deps/oblib/src/rpc/ob_lock_wait_node.h @@ -35,6 +35,7 @@ struct ObLockWaitNode: public common::SpHashNode const int64_t last_compact_cnt, const int64_t total_trans_node_cnt, const char* key, + const uint32_t sess_id, int64_t tx_id, int64_t holder_tx_id); void change_hash(const int64_t hash, const int64_t lock_seq); diff --git a/src/observer/mysql/obmp_query.cpp b/src/observer/mysql/obmp_query.cpp index 9df6e2ee96..10f02219ba 100644 --- a/src/observer/mysql/obmp_query.cpp +++ b/src/observer/mysql/obmp_query.cpp @@ -212,8 +212,6 @@ int ObMPQuery::process() retry_ctrl_.set_sys_global_schema_version(sys_version); session.partition_hit().reset(); session.set_pl_can_retry(true); - ObLockWaitNode &lock_wait_node = req_->get_lock_wait_node(); - lock_wait_node.set_session_info(session.get_sessid()); bool has_more = false; bool force_sync_resp = false; diff --git a/src/observer/mysql/obmp_stmt_execute.cpp b/src/observer/mysql/obmp_stmt_execute.cpp index 0bf83b7cb4..5a636c0bd7 100644 --- a/src/observer/mysql/obmp_stmt_execute.cpp +++ b/src/observer/mysql/obmp_stmt_execute.cpp @@ -1870,8 +1870,6 @@ int ObMPStmtExecute::process() retry_ctrl_.set_sys_global_schema_version(sys_version); session.partition_hit().reset(); session.set_pl_can_retry(true); - ObLockWaitNode &lock_wait_node = req_->get_lock_wait_node(); - lock_wait_node.set_session_info(session.get_sessid()); need_response_error = false; need_disconnect = false; diff --git a/src/storage/memtable/ob_lock_wait_mgr.cpp b/src/storage/memtable/ob_lock_wait_mgr.cpp index 2557399b47..66c6b81b69 100644 --- a/src/storage/memtable/ob_lock_wait_mgr.cpp +++ b/src/storage/memtable/ob_lock_wait_mgr.cpp @@ -571,6 +571,7 @@ int ObLockWaitMgr::post_lock(const int tmp_ret, const bool is_remote_sql, const int64_t last_compact_cnt, const int64_t total_trans_node_cnt, + const uint32_t sess_id, const ObTransID &tx_id, const ObTransID &holder_tx_id, ObFunction &rechecker) @@ -604,6 +605,7 @@ int ObLockWaitMgr::post_lock(const int tmp_ret, last_compact_cnt, total_trans_node_cnt, to_cstring(row_key),// just for virtual table display + sess_id, tx_id, holder_tx_id); node->set_need_wait(); @@ -621,6 +623,7 @@ int ObLockWaitMgr::post_lock(const int tmp_ret, const bool is_remote_sql, const int64_t last_compact_cnt, const int64_t total_trans_node_cnt, + const uint32_t sess_id, const transaction::ObTransID &tx_id, const transaction::ObTransID &holder_tx_id, const ObTableLockMode &lock_mode, @@ -659,6 +662,7 @@ int ObLockWaitMgr::post_lock(const int tmp_ret, last_compact_cnt, total_trans_node_cnt, lock_id_buf, // just for virtual table display + sess_id, tx_id, holder_tx_id); node->set_need_wait(); diff --git a/src/storage/memtable/ob_lock_wait_mgr.h b/src/storage/memtable/ob_lock_wait_mgr.h index de3e4a6733..43a74a0140 100644 --- a/src/storage/memtable/ob_lock_wait_mgr.h +++ b/src/storage/memtable/ob_lock_wait_mgr.h @@ -237,6 +237,7 @@ public: const bool is_remote_sql, const int64_t last_compact_cnt, const int64_t total_trans_node_cnt, + const uint32_t sess_id, const transaction::ObTransID &tx_id, const transaction::ObTransID &holder_tx_id, ObFunction &rechecker); @@ -247,6 +248,7 @@ public: const bool is_remote_sql, const int64_t last_compact_cnt, const int64_t total_trans_node_cnt, + const uint32_t sess_id, const transaction::ObTransID &tx_id, const transaction::ObTransID &holder_tx_id, const transaction::tablelock::ObTableLockMode &lock_mode, diff --git a/src/storage/memtable/ob_memtable.cpp b/src/storage/memtable/ob_memtable.cpp index 5d13f770a9..e8ba32aed2 100755 --- a/src/storage/memtable/ob_memtable.cpp +++ b/src/storage/memtable/ob_memtable.cpp @@ -2986,6 +2986,7 @@ int ObMemtable::post_row_write_conflict_(ObMvccAccessCtx &acc_ctx, remote_tx, last_compact_cnt, total_trans_node_cnt, + acc_ctx.tx_desc_->get_session_id(), tx_id, conflict_tx_id, recheck_func); diff --git a/src/storage/memtable/ob_row_conflict_handler.cpp b/src/storage/memtable/ob_row_conflict_handler.cpp index d3210fdbf7..4f7c73dcef 100644 --- a/src/storage/memtable/ob_row_conflict_handler.cpp +++ b/src/storage/memtable/ob_row_conflict_handler.cpp @@ -158,6 +158,7 @@ int ObRowConflictHandler::post_row_read_conflict(ObMvccAccessCtx &acc_ctx, remote_tx, last_compact_cnt, total_trans_node_cnt, + tx_desc->get_session_id(), tx_id, conflict_tx_id, recheck_func); diff --git a/src/storage/tablelock/ob_lock_memtable.cpp b/src/storage/tablelock/ob_lock_memtable.cpp index 187614a85f..e796c7a509 100644 --- a/src/storage/tablelock/ob_lock_memtable.cpp +++ b/src/storage/tablelock/ob_lock_memtable.cpp @@ -391,6 +391,7 @@ int ObLockMemtable::post_obj_lock_conflict_(ObMvccAccessCtx &acc_ctx, remote_tx, -1, -1, // total_trans_node_cnt + acc_ctx.tx_desc_->get_session_id(), tx_id, conflict_tx_id, lock_mode,