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]