diff --git a/be/src/olap/rowset_builder.cpp b/be/src/olap/rowset_builder.cpp index e381d9ff9b..fb9c542195 100644 --- a/be/src/olap/rowset_builder.cpp +++ b/be/src/olap/rowset_builder.cpp @@ -161,8 +161,8 @@ Status RowsetBuilder::check_tablet_version_count() { } Status RowsetBuilder::prepare_txn() { - std::shared_lock base_migration_lock(tablet()->get_migration_lock(), std::try_to_lock); - if (!base_migration_lock.owns_lock()) { + 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 migration lock failed"); } std::lock_guard push_lock(tablet()->get_push_lock());