This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.1 by this push:
new 0152a4e86fb [config](be) add be config migration_lock_timeout_ms
(#38000) (#38337)
0152a4e86fb is described below
commit 0152a4e86fbeb38422b61e4b8d0b102bfe918c32
Author: Kaijie Chen <[email protected]>
AuthorDate: Thu Jul 25 17:36:34 2024 +0800
[config](be) add be config migration_lock_timeout_ms (#38000) (#38337)
backport #38000
---
be/src/common/config.cpp | 2 ++
be/src/common/config.h | 2 ++
be/src/olap/rowset_builder.cpp | 6 ++++--
3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/be/src/common/config.cpp b/be/src/common/config.cpp
index 76ce00097b0..7bd237baf49 100644
--- a/be/src/common/config.cpp
+++ b/be/src/common/config.cpp
@@ -472,6 +472,8 @@ DEFINE_mInt32(migration_remaining_size_threshold_mb, "10");
// If the task runs longer than this time, the task will be terminated, in
seconds.
// timeout = std::max(migration_task_timeout_secs, tablet size / 1MB/s)
DEFINE_mInt32(migration_task_timeout_secs, "300");
+// timeout for try_lock migration lock
+DEFINE_Int64(migration_lock_timeout_ms, "1000");
// Port to start debug webserver on
DEFINE_Int32(webserver_port, "8040");
diff --git a/be/src/common/config.h b/be/src/common/config.h
index 447473e4fdd..2514b4f2fa8 100644
--- a/be/src/common/config.h
+++ b/be/src/common/config.h
@@ -521,6 +521,8 @@ DECLARE_mInt32(migration_remaining_size_threshold_mb);
// If the task runs longer than this time, the task will be terminated, in
seconds.
// timeout = std::max(migration_task_timeout_secs, tablet size / 1MB/s)
DECLARE_mInt32(migration_task_timeout_secs);
+// timeout for try_lock migration lock
+DECLARE_Int64(migration_lock_timeout_ms);
// Port to start debug webserver on
DECLARE_Int32(webserver_port);
diff --git a/be/src/olap/rowset_builder.cpp b/be/src/olap/rowset_builder.cpp
index 32a6ba88ce7..a1edc61e478 100644
--- a/be/src/olap/rowset_builder.cpp
+++ b/be/src/olap/rowset_builder.cpp
@@ -165,8 +165,10 @@ Status RowsetBuilder::check_tablet_version_count() {
Status RowsetBuilder::prepare_txn() {
std::shared_lock base_migration_lock(tablet()->get_migration_lock(),
std::defer_lock);
- if (!base_migration_lock.try_lock_for(std::chrono::milliseconds(30))) {
- return Status::Error<TRY_LOCK_FAILED>("try migration lock failed");
+ if (!base_migration_lock.try_lock_for(
+ std::chrono::milliseconds(config::migration_lock_timeout_ms)))
{
+ return Status::Error<TRY_LOCK_FAILED>("try_lock migration lock failed
after {}ms",
+
config::migration_lock_timeout_ms);
}
std::lock_guard<std::mutex> push_lock(tablet()->get_push_lock());
return _engine.txn_manager()->prepare_txn(_req.partition_id, *tablet(),
_req.txn_id,
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]