This is an automated email from the ASF dual-hosted git repository.

yiguolei 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 c26f5a2bd2e [improvement](BE) Remove unnecessary error handling codes 
(#26760)
c26f5a2bd2e is described below

commit c26f5a2bd2e0f0b21755addb2dd9cfd05cd491b6
Author: walter <[email protected]>
AuthorDate: Sun Nov 12 00:02:51 2023 +0800

    [improvement](BE) Remove unnecessary error handling codes (#26760)
---
 be/src/olap/data_dir.cpp                           |  5 ++---
 be/src/olap/data_dir.h                             |  2 +-
 be/src/olap/storage_engine.cpp                     | 10 ++--------
 be/src/olap/tablet.cpp                             |  5 -----
 be/src/olap/tablet.h                               |  3 ---
 be/src/olap/tablet_manager.cpp                     | 21 +++++++--------------
 be/src/olap/tablet_meta.cpp                        | 11 +++++------
 be/src/olap/tablet_meta.h                          |  8 ++++----
 be/src/olap/task/engine_storage_migration_task.cpp |  2 +-
 9 files changed, 22 insertions(+), 45 deletions(-)

diff --git a/be/src/olap/data_dir.cpp b/be/src/olap/data_dir.cpp
index 0a88b89408b..3dfdc7d87fb 100644
--- a/be/src/olap/data_dir.cpp
+++ b/be/src/olap/data_dir.cpp
@@ -252,15 +252,14 @@ Status DataDir::_read_and_write_test_file() {
     return read_write_test_file(test_file);
 }
 
-Status DataDir::get_shard(uint64_t* shard) {
+uint64_t DataDir::get_shard() {
     uint32_t next_shard = 0;
     {
         std::lock_guard<std::mutex> l(_mutex);
         next_shard = _current_shard;
         _current_shard = (_current_shard + 1) % MAX_SHARD_NUM;
     }
-    *shard = next_shard;
-    return Status::OK();
+    return next_shard;
 }
 
 void DataDir::register_tablet(Tablet* tablet) {
diff --git a/be/src/olap/data_dir.h b/be/src/olap/data_dir.h
index b8e6530b7cd..0cdb15b2417 100644
--- a/be/src/olap/data_dir.h
+++ b/be/src/olap/data_dir.h
@@ -82,7 +82,7 @@ public:
     Status set_cluster_id(int32_t cluster_id);
     void health_check();
 
-    Status get_shard(uint64_t* shard);
+    uint64_t get_shard();
 
     OlapMeta* get_meta() { return _meta; }
 
diff --git a/be/src/olap/storage_engine.cpp b/be/src/olap/storage_engine.cpp
index 30fdb8dc75c..d714420b358 100644
--- a/be/src/olap/storage_engine.cpp
+++ b/be/src/olap/storage_engine.cpp
@@ -1152,20 +1152,14 @@ Status 
StorageEngine::obtain_shard_path(TStorageMedium::type storage_medium, int
         *store = stores[0];
     }
 
-    Status res = Status::OK();
-    uint64_t shard = 0;
-    res = (*store)->get_shard(&shard);
-    if (!res.ok()) {
-        LOG(WARNING) << "fail to get root path shard. res=" << res;
-        return res;
-    }
+    uint64_t shard = (*store)->get_shard();
 
     std::stringstream root_path_stream;
     root_path_stream << (*store)->path() << "/" << DATA_PREFIX << "/" << shard;
     *shard_path = root_path_stream.str();
 
     LOG(INFO) << "success to process obtain root path. path=" << shard_path;
-    return res;
+    return Status::OK();
 }
 
 Status StorageEngine::load_header(const string& shard_path, const TCloneReq& 
request,
diff --git a/be/src/olap/tablet.cpp b/be/src/olap/tablet.cpp
index cf4b46d38e0..f2037e1af7b 100644
--- a/be/src/olap/tablet.cpp
+++ b/be/src/olap/tablet.cpp
@@ -235,11 +235,6 @@ void 
WriteCooldownMetaExecutors::WriteCooldownMetaExecutors::submit(TabletShared
             [task = std::move(async_write_task)]() { task(); });
 }
 
-TabletSharedPtr Tablet::create_tablet_from_meta(TabletMetaSharedPtr 
tablet_meta,
-                                                DataDir* data_dir) {
-    return std::make_shared<Tablet>(std::move(tablet_meta), data_dir);
-}
-
 Tablet::Tablet(TabletMetaSharedPtr tablet_meta, DataDir* data_dir,
                const std::string_view& cumulative_compaction_type)
         : BaseTablet(std::move(tablet_meta)),
diff --git a/be/src/olap/tablet.h b/be/src/olap/tablet.h
index e96bd6cae27..5efeb25dd7c 100644
--- a/be/src/olap/tablet.h
+++ b/be/src/olap/tablet.h
@@ -89,9 +89,6 @@ extern const std::chrono::seconds TRACE_TABLET_LOCK_THRESHOLD;
 
 class Tablet final : public BaseTablet {
 public:
-    static TabletSharedPtr create_tablet_from_meta(TabletMetaSharedPtr 
tablet_meta,
-                                                   DataDir* data_dir = 
nullptr);
-
     Tablet(TabletMetaSharedPtr tablet_meta, DataDir* data_dir,
            const std::string_view& cumulative_compaction_type = "");
 
diff --git a/be/src/olap/tablet_manager.cpp b/be/src/olap/tablet_manager.cpp
index 97be83a7392..a49deea3606 100644
--- a/be/src/olap/tablet_manager.cpp
+++ b/be/src/olap/tablet_manager.cpp
@@ -498,10 +498,9 @@ TabletSharedPtr 
TabletManager::_create_tablet_meta_and_dir_unlocked(
             }
         }
 
-        TabletSharedPtr new_tablet = 
Tablet::create_tablet_from_meta(tablet_meta, data_dir);
+        TabletSharedPtr new_tablet = 
std::make_shared<Tablet>(std::move(tablet_meta), data_dir);
         COUNTER_UPDATE(ADD_CHILD_TIMER(profile, "CreateTabletFromMeta", 
parent_timer_name),
                        static_cast<int64_t>(watch.reset()));
-        DCHECK(new_tablet != nullptr);
         return new_tablet;
     }
     return nullptr;
@@ -836,11 +835,7 @@ Status TabletManager::load_tablet_from_meta(DataDir* 
data_dir, TTabletId tablet_
         tablet_meta->set_tablet_state(TABLET_RUNNING);
     }
 
-    TabletSharedPtr tablet = Tablet::create_tablet_from_meta(tablet_meta, 
data_dir);
-    if (tablet == nullptr) {
-        return Status::Error<TABLE_CREATE_FROM_HEADER_ERROR>(
-                "fail to load tablet. tablet_id={}, schema_hash={}", 
tablet_id, schema_hash);
-    }
+    TabletSharedPtr tablet = std::make_shared<Tablet>(std::move(tablet_meta), 
data_dir);
 
     // NOTE: method load_tablet_from_meta could be called by two cases as below
     // case 1: BE start;
@@ -859,7 +854,7 @@ Status TabletManager::load_tablet_from_meta(DataDir* 
data_dir, TTabletId tablet_
         }
     }
 
-    if (tablet_meta->tablet_state() == TABLET_SHUTDOWN) {
+    if (tablet->tablet_meta()->tablet_state() == TABLET_SHUTDOWN) {
         {
             std::lock_guard<std::shared_mutex> 
shutdown_tablets_wrlock(_shutdown_tablets_lock);
             _shutdown_tablets.push_back(tablet);
@@ -1282,11 +1277,9 @@ Status TabletManager::_create_tablet_meta_unlocked(const 
TCreateTabletReq& reque
     VLOG_NOTICE << "creating tablet meta. next_unique_id=" << next_unique_id;
 
     // We generate a new tablet_uid for this new tablet.
-    uint64_t shard_id = 0;
-    RETURN_NOT_OK_STATUS_WITH_WARN(store->get_shard(&shard_id), "fail to get 
root path shard");
-    Status res = TabletMeta::create(request, TabletUid::gen_uid(), shard_id, 
next_unique_id,
-                                    col_idx_to_unique_id, tablet_meta);
-    RETURN_IF_ERROR(res);
+    uint64_t shard_id = store->get_shard();
+    *tablet_meta = TabletMeta::create(request, TabletUid::gen_uid(), shard_id, 
next_unique_id,
+                                      col_idx_to_unique_id);
     if (request.__isset.storage_format) {
         if (request.storage_format == TStorageFormat::DEFAULT) {
             (*tablet_meta)
@@ -1300,7 +1293,7 @@ Status TabletManager::_create_tablet_meta_unlocked(const 
TCreateTabletReq& reque
                                                       request.storage_format);
         }
     }
-    return res;
+    return Status::OK();
 }
 
 TabletSharedPtr TabletManager::_get_tablet_unlocked(TTabletId tablet_id) {
diff --git a/be/src/olap/tablet_meta.cpp b/be/src/olap/tablet_meta.cpp
index 76fed9d4aa3..84160c411e2 100644
--- a/be/src/olap/tablet_meta.cpp
+++ b/be/src/olap/tablet_meta.cpp
@@ -48,15 +48,15 @@ using std::vector;
 namespace doris {
 using namespace ErrorCode;
 
-Status TabletMeta::create(const TCreateTabletReq& request, const TabletUid& 
tablet_uid,
-                          uint64_t shard_id, uint32_t next_unique_id,
-                          const unordered_map<uint32_t, uint32_t>& 
col_ordinal_to_unique_id,
-                          TabletMetaSharedPtr* tablet_meta) {
+TabletMetaSharedPtr TabletMeta::create(
+        const TCreateTabletReq& request, const TabletUid& tablet_uid, uint64_t 
shard_id,
+        uint32_t next_unique_id,
+        const unordered_map<uint32_t, uint32_t>& col_ordinal_to_unique_id) {
     std::optional<TBinlogConfig> binlog_config;
     if (request.__isset.binlog_config) {
         binlog_config = request.binlog_config;
     }
-    *tablet_meta = std::make_shared<TabletMeta>(
+    return std::make_shared<TabletMeta>(
             request.table_id, request.partition_id, request.tablet_id, 
request.replica_id,
             request.tablet_schema.schema_hash, shard_id, 
request.tablet_schema, next_unique_id,
             col_ordinal_to_unique_id, tablet_uid,
@@ -69,7 +69,6 @@ Status TabletMeta::create(const TCreateTabletReq& request, 
const TabletUid& tabl
             request.time_series_compaction_goal_size_mbytes,
             request.time_series_compaction_file_count_threshold,
             request.time_series_compaction_time_threshold_seconds);
-    return Status::OK();
 }
 
 TabletMeta::TabletMeta()
diff --git a/be/src/olap/tablet_meta.h b/be/src/olap/tablet_meta.h
index acfbf5cfd2f..622d5c44f98 100644
--- a/be/src/olap/tablet_meta.h
+++ b/be/src/olap/tablet_meta.h
@@ -91,10 +91,10 @@ class TBinlogConfig;
 // The concurrency control is handled in Tablet Class, not in this class.
 class TabletMeta {
 public:
-    static Status create(const TCreateTabletReq& request, const TabletUid& 
tablet_uid,
-                         uint64_t shard_id, uint32_t next_unique_id,
-                         const std::unordered_map<uint32_t, uint32_t>& 
col_ordinal_to_unique_id,
-                         TabletMetaSharedPtr* tablet_meta);
+    static TabletMetaSharedPtr create(
+            const TCreateTabletReq& request, const TabletUid& tablet_uid, 
uint64_t shard_id,
+            uint32_t next_unique_id,
+            const std::unordered_map<uint32_t, uint32_t>& 
col_ordinal_to_unique_id);
 
     TabletMeta();
     TabletMeta(int64_t table_id, int64_t partition_id, int64_t tablet_id, 
int64_t replica_id,
diff --git a/be/src/olap/task/engine_storage_migration_task.cpp 
b/be/src/olap/task/engine_storage_migration_task.cpp
index 0096c45ac4a..e896b9f3a8f 100644
--- a/be/src/olap/task/engine_storage_migration_task.cpp
+++ b/be/src/olap/task/engine_storage_migration_task.cpp
@@ -214,7 +214,7 @@ Status EngineStorageMigrationTask::_migrate() {
         RETURN_IF_ERROR(_get_versions(start_version, &end_version, 
&consistent_rowsets));
 
         // TODO(ygl): the tablet should not under schema change or rollup or 
load
-        RETURN_IF_ERROR(_dest_store->get_shard(&shard));
+        shard = _dest_store->get_shard();
 
         auto shard_path = fmt::format("{}/{}/{}", _dest_store->path(), 
DATA_PREFIX, shard);
         full_path = SnapshotManager::get_schema_hash_full_path(_tablet, 
shard_path);


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to