You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by mo...@apache.org on 2023/02/22 12:26:12 UTC
[doris] 01/04: [improvement](MOW) use shared_lock when get load info in publish txn (#16874)
This is an automated email from the ASF dual-hosted git repository.
morningman pushed a commit to branch branch-1.2-lts
in repository https://gitbox.apache.org/repos/asf/doris.git
commit 62305a6ddc0a3cb192b9bc456851c34b23eeb068
Author: yixiutt <10...@users.noreply.github.com>
AuthorDate: Tue Feb 21 10:14:40 2023 +0800
[improvement](MOW) use shared_lock when get load info in publish txn (#16874)
---
be/src/olap/task/engine_publish_version_task.cpp | 8 +++-----
be/src/olap/txn_manager.cpp | 4 ++--
2 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/be/src/olap/task/engine_publish_version_task.cpp b/be/src/olap/task/engine_publish_version_task.cpp
index f937645c0a..4e786a0455 100644
--- a/be/src/olap/task/engine_publish_version_task.cpp
+++ b/be/src/olap/task/engine_publish_version_task.cpp
@@ -181,11 +181,9 @@ Status EnginePublishVersionTask::finish() {
}
}
- VLOG_CRITICAL << "finish to publish version on transaction."
- << "transaction_id=" << transaction_id
- << ", cost(us): " << watch.get_elapse_time_us()
- << ", error_tablet_size=" << _error_tablet_ids->size()
- << ", res=" << res.to_string();
+ LOG(INFO) << "finish to publish version on transaction."
+ << "transaction_id=" << transaction_id << ", cost(us): " << watch.get_elapse_time_us()
+ << ", error_tablet_size=" << _error_tablet_ids->size() << ", res=" << res.to_string();
return res;
}
diff --git a/be/src/olap/txn_manager.cpp b/be/src/olap/txn_manager.cpp
index ad652e31ad..5661804a92 100644
--- a/be/src/olap/txn_manager.cpp
+++ b/be/src/olap/txn_manager.cpp
@@ -291,9 +291,9 @@ Status TxnManager::publish_txn(OlapMeta* meta, TPartitionId partition_id,
RowsetSharedPtr rowset_ptr = nullptr;
TabletTxnInfo* load_info = nullptr;
{
- std::unique_lock<std::mutex> txn_lock(_get_txn_lock(transaction_id));
{
- std::shared_lock rlock(_get_txn_map_lock(transaction_id));
+ std::unique_lock<std::mutex> txn_rlock(_get_txn_lock(transaction_id));
+ std::shared_lock txn_map_rlock(_get_txn_map_lock(transaction_id));
txn_tablet_map_t& txn_tablet_map = _get_txn_tablet_map(transaction_id);
auto it = txn_tablet_map.find(key);
if (it != txn_tablet_map.end()) {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org