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
The following commit(s) were added to refs/heads/branch-1.2-lts by this push: new c9c64abd73 [fix](tablet) protect max_version by meta lock (#23654) c9c64abd73 is described below commit c9c64abd7371a0161d83564068bca219c5ef93aa Author: Yongqiang YANG <98214048+dataroar...@users.noreply.github.com> AuthorDate: Wed Aug 30 14:38:19 2023 +0800 [fix](tablet) protect max_version by meta lock (#23654) refer to #21948 --- be/src/olap/snapshot_manager.cpp | 2 +- be/src/olap/tablet.h | 1 + be/src/olap/task/engine_publish_version_task.cpp | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/be/src/olap/snapshot_manager.cpp b/be/src/olap/snapshot_manager.cpp index e79fc4f4bc..ea1dc1c995 100644 --- a/be/src/olap/snapshot_manager.cpp +++ b/be/src/olap/snapshot_manager.cpp @@ -459,7 +459,7 @@ Status SnapshotManager::_create_snapshot_files(const TabletSharedPtr& ref_tablet } *allow_incremental_clone = false; } else { - version = ref_tablet->max_version().second; + version = ref_tablet->max_version_unlocked().second; *allow_incremental_clone = true; } diff --git a/be/src/olap/tablet.h b/be/src/olap/tablet.h index 15e17223c3..e81f1212e7 100644 --- a/be/src/olap/tablet.h +++ b/be/src/olap/tablet.h @@ -586,6 +586,7 @@ inline int Tablet::version_count() const { } inline Version Tablet::max_version() const { + std::shared_lock rdlock(_meta_lock); return _tablet_meta->max_version(); } diff --git a/be/src/olap/task/engine_publish_version_task.cpp b/be/src/olap/task/engine_publish_version_task.cpp index bdea449d35..eff14dfdb0 100644 --- a/be/src/olap/task/engine_publish_version_task.cpp +++ b/be/src/olap/task/engine_publish_version_task.cpp @@ -124,7 +124,7 @@ Status EnginePublishVersionTask::finish() { TabletState tablet_state; { std::shared_lock rdlock(tablet->get_header_lock()); - max_version = tablet->max_version(); + max_version = tablet->max_version_unlocked(); tablet_state = tablet->tablet_state(); } if (tablet_state == TabletState::TABLET_RUNNING && --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org