This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 3b2d61d9d6a [enhance]change SpinLock to mutex for
_tablets_channels_lock (#41384)
3b2d61d9d6a is described below
commit 3b2d61d9d6acb31ae4147e15b6a4e593a5ba67df
Author: kkop <[email protected]>
AuthorDate: Fri Oct 11 10:17:10 2024 +0800
[enhance]change SpinLock to mutex for _tablets_channels_lock (#41384)
change SpinLock to mutex for _tablets_channels_lock
---
be/src/runtime/load_channel.cpp | 6 +++---
be/src/runtime/load_channel.h | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/be/src/runtime/load_channel.cpp b/be/src/runtime/load_channel.cpp
index 1ac7753b197..9369c0c833c 100644
--- a/be/src/runtime/load_channel.cpp
+++ b/be/src/runtime/load_channel.cpp
@@ -135,7 +135,7 @@ Status LoadChannel::open(const PTabletWriterOpenRequest&
params) {
_is_high_priority,
_self_profile);
}
{
- std::lock_guard<SpinLock> l(_tablets_channels_lock);
+ std::lock_guard<std::mutex> l(_tablets_channels_lock);
_tablets_channels.insert({index_id, channel});
}
}
@@ -237,7 +237,7 @@ Status LoadChannel::_handle_eos(BaseTabletsChannel* channel,
if (finished) {
std::lock_guard<std::mutex> l(_lock);
{
- std::lock_guard<SpinLock> l(_tablets_channels_lock);
+ std::lock_guard<std::mutex> l(_tablets_channels_lock);
_tablets_channels_rows.insert(std::make_pair(
index_id,
std::make_pair(channel->total_received_rows(),
channel->num_rows_filtered())));
@@ -263,7 +263,7 @@ void
LoadChannel::_report_profile(PTabletWriterAddBlockResult* response) {
_self_profile->set_timestamp(_last_updated_time);
{
- std::lock_guard<SpinLock> l(_tablets_channels_lock);
+ std::lock_guard<std::mutex> l(_tablets_channels_lock);
for (auto& it : _tablets_channels) {
it.second->refresh_profile();
}
diff --git a/be/src/runtime/load_channel.h b/be/src/runtime/load_channel.h
index 6c150ed74d9..36a8f363ba9 100644
--- a/be/src/runtime/load_channel.h
+++ b/be/src/runtime/load_channel.h
@@ -104,7 +104,7 @@ private:
std::unordered_map<int64_t, std::shared_ptr<BaseTabletsChannel>>
_tablets_channels;
// index id -> (received rows, filtered rows)
std::unordered_map<int64_t, std::pair<size_t, size_t>>
_tablets_channels_rows;
- SpinLock _tablets_channels_lock;
+ std::mutex _tablets_channels_lock;
// This is to save finished channels id, to handle the retry request.
std::unordered_set<int64_t> _finished_channel_ids;
// set to true if at least one tablets channel has been opened
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]