You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by GitBox <gi...@apache.org> on 2022/12/01 16:34:19 UTC

[GitHub] [doris] platoneko opened a new pull request, #14744: [Enhancement](status) Unify error code and enable customed err msg for BE internal errors

platoneko opened a new pull request, #14744:
URL: https://github.com/apache/doris/pull/14744

   # Proposed changes
   
   Issue Number: #11874
   
   ## Problem summary
   
   Describe your changes.
   
   ## Checklist(Required)
   
   1. Does it affect the original behavior: 
       - [ ] Yes
       - [ ] No
       - [ ] I don't know
   2. Has unit tests been added:
       - [ ] Yes
       - [ ] No
       - [ ] No Need
   3. Has document been added or modified:
       - [ ] Yes
       - [ ] No
       - [ ] No Need
   4. Does it need to update dependencies:
       - [ ] Yes
       - [ ] No
   5. Are there any changes that cannot be rolled back:
       - [ ] Yes (If Yes, please explain WHY)
       - [ ] No
   
   ## Further comments
   
   If this is a relatively large or complex change, kick off the discussion at [dev@doris.apache.org](mailto:dev@doris.apache.org) by explaining why you chose the solution you did and what alternatives you considered, etc...
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


[GitHub] [doris] hello-stephen commented on pull request #14744: [Enhancement](status) Unify error code and enable customed err msg for BE internal errors

Posted by GitBox <gi...@apache.org>.
hello-stephen commented on PR #14744:
URL: https://github.com/apache/doris/pull/14744#issuecomment-1334095668

   TeamCity pipeline, clickbench performance test result:
    the sum of best hot time: 35.72 seconds
    load time: 450 seconds
    storage size: 17122728208 Bytes
    https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221201171555_clickbench_pr_56358.html


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


[GitHub] [doris] github-actions[bot] commented on a diff in pull request #14744: [Enhancement](status) Unify error code and enable customed err msg for BE internal errors

Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on code in PR #14744:
URL: https://github.com/apache/doris/pull/14744#discussion_r1045095353


##########
be/src/runtime/stream_load/stream_load_executor.cpp:
##########
@@ -80,10 +81,10 @@ Status StreamLoadExecutor::execute_plan_fragment(StreamLoadContext* ctx) {
                     LOG(WARNING) << "fragment execute failed"
                                  << ", query_id="
                                  << UniqueId(ctx->put_result.params.params.query_id)
-                                 << ", err_msg=" << status->get_error_msg() << ", " << ctx->brief();
+                                 << ", err_msg=" << status->to_string() << ", " << ctx->brief();

Review Comment:
   warning: no member named 'get_error_msg' in 'doris::Status' [clang-diagnostic-error]
   ```cpp
                                    << ", err_msg=" << status->get_error_msg() << ", " << ctx->brief();
                                                               ^
   ```
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


[GitHub] [doris] github-actions[bot] commented on a diff in pull request #14744: [Enhancement](status) Unify error code and enable customed err msg for BE internal errors

Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on code in PR #14744:
URL: https://github.com/apache/doris/pull/14744#discussion_r1039351687


##########
be/test/runtime/disk_io_mgr_test.cpp:
##########
@@ -52,8 +52,8 @@ class DiskIoMgrTest : public testing::Test {
     void write_validate_callback(int num_writes, DiskIoMgr::WriteRange** written_range,
                                  DiskIoMgr* io_mgr, DiskIoMgr::RequestContext* reader,
                                  int32_t* data, Status expected_status, const Status& status) {
-        if (expected_status.code() == TStatusCode::CANCELLED) {
-            EXPECT_TRUE(status.ok() || status.is_cancelled());
+        if (expected_status.code() == E_CANCELLED) {

Review Comment:
   warning: use of undeclared identifier 'E_CANCELLED' [clang-diagnostic-error]
   ```cpp
           if (expected_status.code() == E_CANCELLED) {
                                         ^
   ```
   



##########
be/test/olap/tablet_meta_manager_test.cpp:
##########
@@ -92,7 +93,7 @@ TEST_F(TabletMetaManagerTest, TestSaveAndGetAndRemove) {
     EXPECT_EQ(Status::OK(), s);
     TabletMetaSharedPtr meta_read(new TabletMeta());
     s = TabletMetaManager::get_meta(_data_dir, tablet_id, schema_hash, meta_read);

Review Comment:
   warning: '_data_dir' is a private member of 'doris::TabletMetaManagerTest' [clang-diagnostic-error]
   ```cpp
       s = TabletMetaManager::get_meta(_data_dir, tablet_id, schema_hash, meta_read);
                                       ^
   ```
   **be/test/olap/tablet_meta_manager_test.cpp:68:** declared private here
   ```cpp
       DataDir* _data_dir;
                ^
   ```
   



##########
be/test/runtime/load_channel_mgr_test.cpp:
##########
@@ -421,7 +421,7 @@
         }
         row_batch.serialize(request.mutable_row_batch(), &uncompressed_size, &compressed_size);
         // DeltaWriter's write will return -215
-        add_status = Status::OLAPInternalError(OLAP_ERR_TABLE_NOT_FOUND);
+        add_status = Status::Error<TABLE_NOT_FOUND>();

Review Comment:
   warning: use of undeclared identifier 'TABLE_NOT_FOUND'; did you mean 'ErrorCode::TABLE_NOT_FOUND'? [clang-diagnostic-error]
   
   ```suggestion
           add_status = Status::Error<ErrorCode::TABLE_NOT_FOUND>();
   ```
   **be/src/common/status.h:85:** 'ErrorCode::TABLE_NOT_FOUND' declared here
   ```cpp
   E(TABLE_NOT_FOUND, -215);
     ^
   ```
   



##########
be/test/runtime/load_channel_mgr_test.cpp:
##########
@@ -512,7 +512,7 @@
             row_batch.commit_last_row();
         }
         row_batch.serialize(request.mutable_row_batch(), &uncompressed_size, &compressed_size);
-        close_status = Status::OLAPInternalError(OLAP_ERR_TABLE_NOT_FOUND);
+        close_status = Status::Error<TABLE_NOT_FOUND>();

Review Comment:
   warning: use of undeclared identifier 'TABLE_NOT_FOUND'; did you mean 'ErrorCode::TABLE_NOT_FOUND'? [clang-diagnostic-error]
   
   ```suggestion
           close_status = Status::Error<ErrorCode::TABLE_NOT_FOUND>();
   ```
   **be/src/common/status.h:85:** 'ErrorCode::TABLE_NOT_FOUND' declared here
   ```cpp
   E(TABLE_NOT_FOUND, -215);
     ^
   ```
   



##########
be/test/runtime/load_channel_mgr_test.cpp:
##########
@@ -512,7 +512,7 @@
             row_batch.commit_last_row();
         }
         row_batch.serialize(request.mutable_row_batch(), &uncompressed_size, &compressed_size);

Review Comment:
   warning: 'compressed_size' is a private member of 'doris::LoadChannelMgrTest' [clang-diagnostic-error]
   ```cpp
           row_batch.serialize(request.mutable_row_batch(), &uncompressed_size, &compressed_size);
                                                                                 ^
   ```
   **be/test/runtime/load_channel_mgr_test.cpp:121:** declared private here
   ```cpp
       size_t compressed_size = 0;
              ^
   ```
   



##########
be/test/runtime/load_channel_mgr_test.cpp:
##########
@@ -335,7 +335,7 @@ TEST_F(LoadChannelMgrTest, open_failed) {
         }
         request.set_num_senders(1);
         request.set_need_gen_rollup(false);
-        open_status = Status::OLAPInternalError(OLAP_ERR_TABLE_NOT_FOUND);
+        open_status = Status::Error<TABLE_NOT_FOUND>();

Review Comment:
   warning: use of undeclared identifier 'TABLE_NOT_FOUND'; did you mean 'ErrorCode::TABLE_NOT_FOUND'? [clang-diagnostic-error]
   
   ```suggestion
           open_status = Status::Error<ErrorCode::TABLE_NOT_FOUND>();
   ```
   **be/src/common/status.h:85:** 'ErrorCode::TABLE_NOT_FOUND' declared here
   ```cpp
   E(TABLE_NOT_FOUND, -215);
     ^
   ```
   



##########
be/test/runtime/load_channel_mgr_test.cpp:
##########
@@ -421,7 +421,7 @@
         }
         row_batch.serialize(request.mutable_row_batch(), &uncompressed_size, &compressed_size);

Review Comment:
   warning: 'uncompressed_size' is a private member of 'doris::LoadChannelMgrTest' [clang-diagnostic-error]
   ```cpp
           row_batch.serialize(request.mutable_row_batch(), &uncompressed_size, &compressed_size);
                                                             ^
   ```
   **be/test/runtime/load_channel_mgr_test.cpp:120:** declared private here
   ```cpp
       size_t uncompressed_size = 0;
              ^
   ```
   



##########
be/test/runtime/disk_io_mgr_test.cpp:
##########
@@ -52,8 +52,8 @@
     void write_validate_callback(int num_writes, DiskIoMgr::WriteRange** written_range,
                                  DiskIoMgr* io_mgr, DiskIoMgr::RequestContext* reader,
                                  int32_t* data, Status expected_status, const Status& status) {
-        if (expected_status.code() == TStatusCode::CANCELLED) {
-            EXPECT_TRUE(status.ok() || status.is_cancelled());
+        if (expected_status.code() == E_CANCELLED) {
+            EXPECT_TRUE(status.ok() || status.is<E_CANCELLED>());

Review Comment:
   warning: use of undeclared identifier 'E_CANCELLED' [clang-diagnostic-error]
   ```cpp
               EXPECT_TRUE(status.ok() || status.is<E_CANCELLED>());
                                                    ^
   ```
   



##########
be/test/runtime/load_channel_mgr_test.cpp:
##########
@@ -512,7 +512,7 @@
             row_batch.commit_last_row();
         }
         row_batch.serialize(request.mutable_row_batch(), &uncompressed_size, &compressed_size);

Review Comment:
   warning: 'uncompressed_size' is a private member of 'doris::LoadChannelMgrTest' [clang-diagnostic-error]
   ```cpp
           row_batch.serialize(request.mutable_row_batch(), &uncompressed_size, &compressed_size);
                                                             ^
   ```
   **be/test/runtime/load_channel_mgr_test.cpp:120:** declared private here
   ```cpp
       size_t uncompressed_size = 0;
              ^
   ```
   



##########
be/test/runtime/load_channel_mgr_test.cpp:
##########
@@ -421,7 +421,7 @@
         }
         row_batch.serialize(request.mutable_row_batch(), &uncompressed_size, &compressed_size);

Review Comment:
   warning: 'compressed_size' is a private member of 'doris::LoadChannelMgrTest' [clang-diagnostic-error]
   ```cpp
           row_batch.serialize(request.mutable_row_batch(), &uncompressed_size, &compressed_size);
                                                                                 ^
   ```
   **be/test/runtime/load_channel_mgr_test.cpp:121:** declared private here
   ```cpp
       size_t compressed_size = 0;
              ^
   ```
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


[GitHub] [doris] github-actions[bot] commented on a diff in pull request #14744: [Enhancement](status) Unify error code and enable customed err msg for BE internal errors

Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on code in PR #14744:
URL: https://github.com/apache/doris/pull/14744#discussion_r1038963207


##########
be/src/common/status.h:
##########
@@ -12,249 +12,283 @@
 #include <string_view>
 
 #include "common/compiler_util.h"
-#include "common/logging.h"
 #include "gen_cpp/Status_types.h" // for TStatus
+#ifdef ENABLE_STACKTRACE
+#include "util/stack_util.h"
+#endif
 
 namespace doris {
 
 class PStatus;
 
-// ErrorName, ErrorCode, String Description, Should print stacktrace
-#define APPLY_FOR_ERROR_CODES(M)                                         \
-    M(OLAP_SUCCESS, 0, "", false)                                        \
-    M(OLAP_ERR_OTHER_ERROR, -1, "", true)                                \
-    M(OLAP_REQUEST_FAILED, -2, "", false)                                \
-    M(OLAP_ERR_OS_ERROR, -100, "", true)                                 \
-    M(OLAP_ERR_DIR_NOT_EXIST, -101, "", true)                            \
-    M(OLAP_ERR_FILE_NOT_EXIST, -102, "", true)                           \
-    M(OLAP_ERR_CREATE_FILE_ERROR, -103, "", true)                        \
-    M(OLAP_ERR_MALLOC_ERROR, -104, "", true)                             \
-    M(OLAP_ERR_STL_ERROR, -105, "", true)                                \
-    M(OLAP_ERR_IO_ERROR, -106, "", true)                                 \
-    M(OLAP_ERR_MUTEX_ERROR, -107, "", true)                              \
-    M(OLAP_ERR_PTHREAD_ERROR, -108, "", true)                            \
-    M(OLAP_ERR_NETWORK_ERROR, -109, "", true)                            \
-    M(OLAP_ERR_UB_FUNC_ERROR, -110, "", true)                            \
-    M(OLAP_ERR_COMPRESS_ERROR, -111, "", true)                           \
-    M(OLAP_ERR_DECOMPRESS_ERROR, -112, "", true)                         \
-    M(OLAP_ERR_UNKNOWN_COMPRESSION_TYPE, -113, "", true)                 \
-    M(OLAP_ERR_MMAP_ERROR, -114, "", true)                               \
-    M(OLAP_ERR_RWLOCK_ERROR, -115, "", true)                             \
-    M(OLAP_ERR_READ_UNENOUGH, -116, "", true)                            \
-    M(OLAP_ERR_CANNOT_CREATE_DIR, -117, "", true)                        \
-    M(OLAP_ERR_UB_NETWORK_ERROR, -118, "", true)                         \
-    M(OLAP_ERR_FILE_FORMAT_ERROR, -119, "", true)                        \
-    M(OLAP_ERR_EVAL_CONJUNCTS_ERROR, -120, "", true)                     \
-    M(OLAP_ERR_COPY_FILE_ERROR, -121, "", true)                          \
-    M(OLAP_ERR_FILE_ALREADY_EXIST, -122, "", true)                       \
-    M(OLAP_ERR_NOT_INITED, -200, "", true)                               \
-    M(OLAP_ERR_FUNC_NOT_IMPLEMENTED, -201, "", true)                     \
-    M(OLAP_ERR_CALL_SEQUENCE_ERROR, -202, "", true)                      \
-    M(OLAP_ERR_INPUT_PARAMETER_ERROR, -203, "", true)                    \
-    M(OLAP_ERR_BUFFER_OVERFLOW, -204, "", true)                          \
-    M(OLAP_ERR_CONFIG_ERROR, -205, "", true)                             \
-    M(OLAP_ERR_INIT_FAILED, -206, "", true)                              \
-    M(OLAP_ERR_INVALID_SCHEMA, -207, "", true)                           \
-    M(OLAP_ERR_CHECKSUM_ERROR, -208, "", true)                           \
-    M(OLAP_ERR_SIGNATURE_ERROR, -209, "", true)                          \
-    M(OLAP_ERR_CATCH_EXCEPTION, -210, "", true)                          \
-    M(OLAP_ERR_PARSE_PROTOBUF_ERROR, -211, "", true)                     \
-    M(OLAP_ERR_SERIALIZE_PROTOBUF_ERROR, -212, "", true)                 \
-    M(OLAP_ERR_WRITE_PROTOBUF_ERROR, -213, "", true)                     \
-    M(OLAP_ERR_VERSION_NOT_EXIST, -214, "", true)                        \
-    M(OLAP_ERR_TABLE_NOT_FOUND, -215, "", true)                          \
-    M(OLAP_ERR_TRY_LOCK_FAILED, -216, "", true)                          \
-    M(OLAP_ERR_OUT_OF_BOUND, -218, "", true)                             \
-    M(OLAP_ERR_UNDERFLOW, -219, "", true)                                \
-    M(OLAP_ERR_FILE_DATA_ERROR, -220, "", true)                          \
-    M(OLAP_ERR_TEST_FILE_ERROR, -221, "", true)                          \
-    M(OLAP_ERR_INVALID_ROOT_PATH, -222, "", true)                        \
-    M(OLAP_ERR_NO_AVAILABLE_ROOT_PATH, -223, "", true)                   \
-    M(OLAP_ERR_CHECK_LINES_ERROR, -224, "", true)                        \
-    M(OLAP_ERR_INVALID_CLUSTER_INFO, -225, "", true)                     \
-    M(OLAP_ERR_TRANSACTION_NOT_EXIST, -226, "", true)                    \
-    M(OLAP_ERR_DISK_FAILURE, -227, "", true)                             \
-    M(OLAP_ERR_TRANSACTION_ALREADY_COMMITTED, -228, "", true)            \
-    M(OLAP_ERR_TRANSACTION_ALREADY_VISIBLE, -229, "", true)              \
-    M(OLAP_ERR_VERSION_ALREADY_MERGED, -230, "", true)                   \
-    M(OLAP_ERR_LZO_DISABLED, -231, "", true)                             \
-    M(OLAP_ERR_DISK_REACH_CAPACITY_LIMIT, -232, "", true)                \
-    M(OLAP_ERR_TOO_MANY_TRANSACTIONS, -233, "", true)                    \
-    M(OLAP_ERR_INVALID_SNAPSHOT_VERSION, -234, "", true)                 \
-    M(OLAP_ERR_TOO_MANY_VERSION, -235, "", true)                         \
-    M(OLAP_ERR_NOT_INITIALIZED, -236, "", true)                          \
-    M(OLAP_ERR_ALREADY_CANCELLED, -237, "", true)                        \
-    M(OLAP_ERR_TOO_MANY_SEGMENTS, -238, "", true)                        \
-    M(OLAP_ERR_CE_CMD_PARAMS_ERROR, -300, "", true)                      \
-    M(OLAP_ERR_CE_BUFFER_TOO_SMALL, -301, "", true)                      \
-    M(OLAP_ERR_CE_CMD_NOT_VALID, -302, "", true)                         \
-    M(OLAP_ERR_CE_LOAD_TABLE_ERROR, -303, "", true)                      \
-    M(OLAP_ERR_CE_NOT_FINISHED, -304, "", true)                          \
-    M(OLAP_ERR_CE_TABLET_ID_EXIST, -305, "", true)                       \
-    M(OLAP_ERR_CE_TRY_CE_LOCK_ERROR, -306, "", false)                    \
-    M(OLAP_ERR_TABLE_VERSION_DUPLICATE_ERROR, -400, "", true)            \
-    M(OLAP_ERR_TABLE_VERSION_INDEX_MISMATCH_ERROR, -401, "", true)       \
-    M(OLAP_ERR_TABLE_INDEX_VALIDATE_ERROR, -402, "", true)               \
-    M(OLAP_ERR_TABLE_INDEX_FIND_ERROR, -403, "", true)                   \
-    M(OLAP_ERR_TABLE_CREATE_FROM_HEADER_ERROR, -404, "", true)           \
-    M(OLAP_ERR_TABLE_CREATE_META_ERROR, -405, "", true)                  \
-    M(OLAP_ERR_TABLE_ALREADY_DELETED_ERROR, -406, "", false)             \
-    M(OLAP_ERR_ENGINE_INSERT_EXISTS_TABLE, -500, "", true)               \
-    M(OLAP_ERR_ENGINE_DROP_NOEXISTS_TABLE, -501, "", true)               \
-    M(OLAP_ERR_ENGINE_LOAD_INDEX_TABLE_ERROR, -502, "", true)            \
-    M(OLAP_ERR_TABLE_INSERT_DUPLICATION_ERROR, -503, "", true)           \
-    M(OLAP_ERR_DELETE_VERSION_ERROR, -504, "", true)                     \
-    M(OLAP_ERR_GC_SCAN_PATH_ERROR, -505, "", true)                       \
-    M(OLAP_ERR_ENGINE_INSERT_OLD_TABLET, -506, "", true)                 \
-    M(OLAP_ERR_FETCH_OTHER_ERROR, -600, "", true)                        \
-    M(OLAP_ERR_FETCH_TABLE_NOT_EXIST, -601, "", true)                    \
-    M(OLAP_ERR_FETCH_VERSION_ERROR, -602, "", true)                      \
-    M(OLAP_ERR_FETCH_SCHEMA_ERROR, -603, "", true)                       \
-    M(OLAP_ERR_FETCH_COMPRESSION_ERROR, -604, "", true)                  \
-    M(OLAP_ERR_FETCH_CONTEXT_NOT_EXIST, -605, "", true)                  \
-    M(OLAP_ERR_FETCH_GET_READER_PARAMS_ERR, -606, "", true)              \
-    M(OLAP_ERR_FETCH_SAVE_SESSION_ERR, -607, "", true)                   \
-    M(OLAP_ERR_FETCH_MEMORY_EXCEEDED, -608, "", true)                    \
-    M(OLAP_ERR_READER_IS_UNINITIALIZED, -700, "", true)                  \
-    M(OLAP_ERR_READER_GET_ITERATOR_ERROR, -701, "", true)                \
-    M(OLAP_ERR_CAPTURE_ROWSET_READER_ERROR, -702, "", true)              \
-    M(OLAP_ERR_READER_READING_ERROR, -703, "", true)                     \
-    M(OLAP_ERR_READER_INITIALIZE_ERROR, -704, "", true)                  \
-    M(OLAP_ERR_BE_VERSION_NOT_MATCH, -800, "", true)                     \
-    M(OLAP_ERR_BE_REPLACE_VERSIONS_ERROR, -801, "", true)                \
-    M(OLAP_ERR_BE_MERGE_ERROR, -802, "", true)                           \
-    M(OLAP_ERR_CAPTURE_ROWSET_ERROR, -804, "", true)                     \
-    M(OLAP_ERR_BE_SAVE_HEADER_ERROR, -805, "", true)                     \
-    M(OLAP_ERR_BE_INIT_OLAP_DATA, -806, "", true)                        \
-    M(OLAP_ERR_BE_TRY_OBTAIN_VERSION_LOCKS, -807, "", true)              \
-    M(OLAP_ERR_BE_NO_SUITABLE_VERSION, -808, "", false)                  \
-    M(OLAP_ERR_BE_TRY_BE_LOCK_ERROR, -809, "", true)                     \
-    M(OLAP_ERR_BE_INVALID_NEED_MERGED_VERSIONS, -810, "", true)          \
-    M(OLAP_ERR_BE_ERROR_DELETE_ACTION, -811, "", true)                   \
-    M(OLAP_ERR_BE_SEGMENTS_OVERLAPPING, -812, "", true)                  \
-    M(OLAP_ERR_BE_CLONE_OCCURRED, -813, "", true)                        \
-    M(OLAP_ERR_PUSH_INIT_ERROR, -900, "", true)                          \
-    M(OLAP_ERR_PUSH_DELTA_FILE_EOF, -901, "", false)                     \
-    M(OLAP_ERR_PUSH_VERSION_INCORRECT, -902, "", true)                   \
-    M(OLAP_ERR_PUSH_SCHEMA_MISMATCH, -903, "", true)                     \
-    M(OLAP_ERR_PUSH_CHECKSUM_ERROR, -904, "", true)                      \
-    M(OLAP_ERR_PUSH_ACQUIRE_DATASOURCE_ERROR, -905, "", true)            \
-    M(OLAP_ERR_PUSH_CREAT_CUMULATIVE_ERROR, -906, "", true)              \
-    M(OLAP_ERR_PUSH_BUILD_DELTA_ERROR, -907, "", true)                   \
-    M(OLAP_ERR_PUSH_VERSION_ALREADY_EXIST, -908, "", true)               \
-    M(OLAP_ERR_PUSH_TABLE_NOT_EXIST, -909, "", true)                     \
-    M(OLAP_ERR_PUSH_INPUT_DATA_ERROR, -910, "", true)                    \
-    M(OLAP_ERR_PUSH_TRANSACTION_ALREADY_EXIST, -911, "", true)           \
-    M(OLAP_ERR_PUSH_BATCH_PROCESS_REMOVED, -912, "", true)               \
-    M(OLAP_ERR_PUSH_COMMIT_ROWSET, -913, "", true)                       \
-    M(OLAP_ERR_PUSH_ROWSET_NOT_FOUND, -914, "", true)                    \
-    M(OLAP_ERR_INDEX_LOAD_ERROR, -1000, "", true)                        \
-    M(OLAP_ERR_INDEX_EOF, -1001, "", false)                              \
-    M(OLAP_ERR_INDEX_CHECKSUM_ERROR, -1002, "", true)                    \
-    M(OLAP_ERR_INDEX_DELTA_PRUNING, -1003, "", true)                     \
-    M(OLAP_ERR_DATA_ROW_BLOCK_ERROR, -1100, "", true)                    \
-    M(OLAP_ERR_DATA_FILE_TYPE_ERROR, -1101, "", true)                    \
-    M(OLAP_ERR_DATA_EOF, -1102, "", false)                               \
-    M(OLAP_ERR_WRITER_INDEX_WRITE_ERROR, -1200, "", true)                \
-    M(OLAP_ERR_WRITER_DATA_WRITE_ERROR, -1201, "", true)                 \
-    M(OLAP_ERR_WRITER_ROW_BLOCK_ERROR, -1202, "", true)                  \
-    M(OLAP_ERR_WRITER_SEGMENT_NOT_FINALIZED, -1203, "", true)            \
-    M(OLAP_ERR_ROWBLOCK_DECOMPRESS_ERROR, -1300, "", true)               \
-    M(OLAP_ERR_ROWBLOCK_FIND_ROW_EXCEPTION, -1301, "", true)             \
-    M(OLAP_ERR_ROWBLOCK_READ_INFO_ERROR, -1302, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_VERSION, -1400, "", true)                      \
-    M(OLAP_ERR_HEADER_DELETE_VERSION, -1401, "", true)                   \
-    M(OLAP_ERR_HEADER_ADD_PENDING_DELTA, -1402, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_INCREMENTAL_VERSION, -1403, "", true)          \
-    M(OLAP_ERR_HEADER_INVALID_FLAG, -1404, "", true)                     \
-    M(OLAP_ERR_HEADER_PUT, -1405, "", true)                              \
-    M(OLAP_ERR_HEADER_DELETE, -1406, "", true)                           \
-    M(OLAP_ERR_HEADER_GET, -1407, "", true)                              \
-    M(OLAP_ERR_HEADER_LOAD_INVALID_KEY, -1408, "", true)                 \
-    M(OLAP_ERR_HEADER_FLAG_PUT, -1409, "", true)                         \
-    M(OLAP_ERR_HEADER_LOAD_JSON_HEADER, -1410, "", true)                 \
-    M(OLAP_ERR_HEADER_INIT_FAILED, -1411, "", true)                      \
-    M(OLAP_ERR_HEADER_PB_PARSE_FAILED, -1412, "", true)                  \
-    M(OLAP_ERR_HEADER_HAS_PENDING_DATA, -1413, "", false)                \
-    M(OLAP_ERR_SCHEMA_SCHEMA_INVALID, -1500, "", false)                  \
-    M(OLAP_ERR_SCHEMA_SCHEMA_FIELD_INVALID, -1501, "", true)             \
-    M(OLAP_ERR_ALTER_MULTI_TABLE_ERR, -1600, "", true)                   \
-    M(OLAP_ERR_ALTER_DELTA_DOES_NOT_EXISTS, -1601, "", true)             \
-    M(OLAP_ERR_ALTER_STATUS_ERR, -1602, "", true)                        \
-    M(OLAP_ERR_PREVIOUS_SCHEMA_CHANGE_NOT_FINISHED, -1603, "", true)     \
-    M(OLAP_ERR_SCHEMA_CHANGE_INFO_INVALID, -1604, "", true)              \
-    M(OLAP_ERR_QUERY_SPLIT_KEY_ERR, -1605, "", true)                     \
-    M(OLAP_ERR_DATA_QUALITY_ERR, -1606, "", true)                        \
-    M(OLAP_ERR_COLUMN_DATA_LOAD_BLOCK, -1700, "", true)                  \
-    M(OLAP_ERR_COLUMN_DATA_RECORD_INDEX, -1701, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_MAKE_FILE_HEADER, -1702, "", true)            \
-    M(OLAP_ERR_COLUMN_DATA_READ_VAR_INT, -1703, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_PATCH_LIST_NUM, -1704, "", true)              \
-    M(OLAP_ERR_COLUMN_STREAM_EOF, -1705, "", false)                      \
-    M(OLAP_ERR_COLUMN_READ_STREAM, -1706, "", true)                      \
-    M(OLAP_ERR_COLUMN_STREAM_NOT_EXIST, -1716, "", true)                 \
-    M(OLAP_ERR_COLUMN_VALUE_NULL, -1717, "", true)                       \
-    M(OLAP_ERR_COLUMN_SEEK_ERROR, -1719, "", true)                       \
-    M(OLAP_ERR_DELETE_INVALID_CONDITION, -1900, "", true)                \
-    M(OLAP_ERR_DELETE_UPDATE_HEADER_FAILED, -1901, "", true)             \
-    M(OLAP_ERR_DELETE_SAVE_HEADER_FAILED, -1902, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_PARAMETERS, -1903, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_VERSION, -1904, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_NO_SUITABLE_VERSION, -2000, "", false)         \
-    M(OLAP_ERR_CUMULATIVE_REPEAT_INIT, -2001, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_INVALID_PARAMETERS, -2002, "", true)           \
-    M(OLAP_ERR_CUMULATIVE_FAILED_ACQUIRE_DATA_SOURCE, -2003, "", true)   \
-    M(OLAP_ERR_CUMULATIVE_INVALID_NEED_MERGED_VERSIONS, -2004, "", true) \
-    M(OLAP_ERR_CUMULATIVE_ERROR_DELETE_ACTION, -2005, "", true)          \
-    M(OLAP_ERR_CUMULATIVE_MISS_VERSION, -2006, "", true)                 \
-    M(OLAP_ERR_CUMULATIVE_CLONE_OCCURRED, -2007, "", true)               \
-    M(OLAP_ERR_META_INVALID_ARGUMENT, -3000, "", true)                   \
-    M(OLAP_ERR_META_OPEN_DB, -3001, "", true)                            \
-    M(OLAP_ERR_META_KEY_NOT_FOUND, -3002, "", true)                      \
-    M(OLAP_ERR_META_GET, -3003, "", true)                                \
-    M(OLAP_ERR_META_PUT, -3004, "", true)                                \
-    M(OLAP_ERR_META_ITERATOR, -3005, "", true)                           \
-    M(OLAP_ERR_META_DELETE, -3006, "", true)                             \
-    M(OLAP_ERR_META_ALREADY_EXIST, -3007, "", true)                      \
-    M(OLAP_ERR_ROWSET_WRITER_INIT, -3100, "", true)                      \
-    M(OLAP_ERR_ROWSET_SAVE_FAILED, -3101, "", true)                      \
-    M(OLAP_ERR_ROWSET_GENERATE_ID_FAILED, -3102, "", true)               \
-    M(OLAP_ERR_ROWSET_DELETE_FILE_FAILED, -3103, "", true)               \
-    M(OLAP_ERR_ROWSET_BUILDER_INIT, -3104, "", true)                     \
-    M(OLAP_ERR_ROWSET_TYPE_NOT_FOUND, -3105, "", true)                   \
-    M(OLAP_ERR_ROWSET_ALREADY_EXIST, -3106, "", true)                    \
-    M(OLAP_ERR_ROWSET_CREATE_READER, -3107, "", true)                    \
-    M(OLAP_ERR_ROWSET_INVALID, -3108, "", true)                          \
-    M(OLAP_ERR_ROWSET_LOAD_FAILED, -3109, "", true)                      \
-    M(OLAP_ERR_ROWSET_READER_INIT, -3110, "", true)                      \
-    M(OLAP_ERR_ROWSET_READ_FAILED, -3111, "", true)                      \
-    M(OLAP_ERR_ROWSET_INVALID_STATE_TRANSITION, -3112, "", true)         \
-    M(OLAP_ERR_STRING_OVERFLOW_IN_VEC_ENGINE, -3113, "", true)           \
-    M(OLAP_ERR_ROWSET_ADD_MIGRATION_V2, -3114, "", true)                 \
-    M(OLAP_ERR_PUBLISH_VERSION_NOT_CONTINUOUS, -3115, "", false)         \
-    M(OLAP_ERR_ROWSET_RENAME_FILE_FAILED, -3116, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_READER, -3117, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_WRITER, -3118, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_FAILED, -3119, "", false)
-
-enum ErrorCode {
-#define M(NAME, ERRORCODE, DESC, STACKTRACEENABLED) NAME = ERRORCODE,
-    APPLY_FOR_ERROR_CODES(M)
-#undef M
-};
+namespace ErrorCode {
+#define E(name, code) static constexpr int name = code
+E(OK, 0);
+#define TStatusError(name) E(name, TStatusCode::name)
+// Errors defined in TStatus
+TStatusError(PUBLISH_TIMEOUT);
+TStatusError(MEM_ALLOC_FAILED);
+TStatusError(BUFFER_ALLOCATION_FAILED);
+TStatusError(INVALID_ARGUMENT);
+TStatusError(MINIMUM_RESERVATION_UNAVAILABLE);
+TStatusError(CORRUPTION);
+TStatusError(IO_ERROR);
+TStatusError(NOT_FOUND);
+TStatusError(ALREADY_EXIST);
+TStatusError(NOT_IMPLEMENTED_ERROR);
+TStatusError(END_OF_FILE);
+TStatusError(INTERNAL_ERROR);
+TStatusError(RUNTIME_ERROR);
+TStatusError(CANCELLED);
+TStatusError(MEM_LIMIT_EXCEEDED);
+TStatusError(THRIFT_RPC_ERROR);
+TStatusError(TIMEOUT);
+TStatusError(TOO_MANY_TASKS);
+TStatusError(SERVICE_UNAVAILABLE);
+TStatusError(UNINITIALIZED);
+TStatusError(ABORTED);
+TStatusError(DATA_QUALITY_ERROR);
+TStatusError(LABEL_ALREADY_EXISTS);
+#undef TStatusError
+// BE internal errors
+E(OS_ERROR, -100);

Review Comment:
   warning: unused variable 'OS_ERROR' [clang-diagnostic-unused-const-variable]
   ```cpp
   E(OS_ERROR, -100);
     ^
   ```
   



##########
be/src/common/status.h:
##########
@@ -12,249 +12,283 @@
 #include <string_view>
 
 #include "common/compiler_util.h"
-#include "common/logging.h"
 #include "gen_cpp/Status_types.h" // for TStatus
+#ifdef ENABLE_STACKTRACE
+#include "util/stack_util.h"
+#endif
 
 namespace doris {
 
 class PStatus;
 
-// ErrorName, ErrorCode, String Description, Should print stacktrace
-#define APPLY_FOR_ERROR_CODES(M)                                         \
-    M(OLAP_SUCCESS, 0, "", false)                                        \
-    M(OLAP_ERR_OTHER_ERROR, -1, "", true)                                \
-    M(OLAP_REQUEST_FAILED, -2, "", false)                                \
-    M(OLAP_ERR_OS_ERROR, -100, "", true)                                 \
-    M(OLAP_ERR_DIR_NOT_EXIST, -101, "", true)                            \
-    M(OLAP_ERR_FILE_NOT_EXIST, -102, "", true)                           \
-    M(OLAP_ERR_CREATE_FILE_ERROR, -103, "", true)                        \
-    M(OLAP_ERR_MALLOC_ERROR, -104, "", true)                             \
-    M(OLAP_ERR_STL_ERROR, -105, "", true)                                \
-    M(OLAP_ERR_IO_ERROR, -106, "", true)                                 \
-    M(OLAP_ERR_MUTEX_ERROR, -107, "", true)                              \
-    M(OLAP_ERR_PTHREAD_ERROR, -108, "", true)                            \
-    M(OLAP_ERR_NETWORK_ERROR, -109, "", true)                            \
-    M(OLAP_ERR_UB_FUNC_ERROR, -110, "", true)                            \
-    M(OLAP_ERR_COMPRESS_ERROR, -111, "", true)                           \
-    M(OLAP_ERR_DECOMPRESS_ERROR, -112, "", true)                         \
-    M(OLAP_ERR_UNKNOWN_COMPRESSION_TYPE, -113, "", true)                 \
-    M(OLAP_ERR_MMAP_ERROR, -114, "", true)                               \
-    M(OLAP_ERR_RWLOCK_ERROR, -115, "", true)                             \
-    M(OLAP_ERR_READ_UNENOUGH, -116, "", true)                            \
-    M(OLAP_ERR_CANNOT_CREATE_DIR, -117, "", true)                        \
-    M(OLAP_ERR_UB_NETWORK_ERROR, -118, "", true)                         \
-    M(OLAP_ERR_FILE_FORMAT_ERROR, -119, "", true)                        \
-    M(OLAP_ERR_EVAL_CONJUNCTS_ERROR, -120, "", true)                     \
-    M(OLAP_ERR_COPY_FILE_ERROR, -121, "", true)                          \
-    M(OLAP_ERR_FILE_ALREADY_EXIST, -122, "", true)                       \
-    M(OLAP_ERR_NOT_INITED, -200, "", true)                               \
-    M(OLAP_ERR_FUNC_NOT_IMPLEMENTED, -201, "", true)                     \
-    M(OLAP_ERR_CALL_SEQUENCE_ERROR, -202, "", true)                      \
-    M(OLAP_ERR_INPUT_PARAMETER_ERROR, -203, "", true)                    \
-    M(OLAP_ERR_BUFFER_OVERFLOW, -204, "", true)                          \
-    M(OLAP_ERR_CONFIG_ERROR, -205, "", true)                             \
-    M(OLAP_ERR_INIT_FAILED, -206, "", true)                              \
-    M(OLAP_ERR_INVALID_SCHEMA, -207, "", true)                           \
-    M(OLAP_ERR_CHECKSUM_ERROR, -208, "", true)                           \
-    M(OLAP_ERR_SIGNATURE_ERROR, -209, "", true)                          \
-    M(OLAP_ERR_CATCH_EXCEPTION, -210, "", true)                          \
-    M(OLAP_ERR_PARSE_PROTOBUF_ERROR, -211, "", true)                     \
-    M(OLAP_ERR_SERIALIZE_PROTOBUF_ERROR, -212, "", true)                 \
-    M(OLAP_ERR_WRITE_PROTOBUF_ERROR, -213, "", true)                     \
-    M(OLAP_ERR_VERSION_NOT_EXIST, -214, "", true)                        \
-    M(OLAP_ERR_TABLE_NOT_FOUND, -215, "", true)                          \
-    M(OLAP_ERR_TRY_LOCK_FAILED, -216, "", true)                          \
-    M(OLAP_ERR_OUT_OF_BOUND, -218, "", true)                             \
-    M(OLAP_ERR_UNDERFLOW, -219, "", true)                                \
-    M(OLAP_ERR_FILE_DATA_ERROR, -220, "", true)                          \
-    M(OLAP_ERR_TEST_FILE_ERROR, -221, "", true)                          \
-    M(OLAP_ERR_INVALID_ROOT_PATH, -222, "", true)                        \
-    M(OLAP_ERR_NO_AVAILABLE_ROOT_PATH, -223, "", true)                   \
-    M(OLAP_ERR_CHECK_LINES_ERROR, -224, "", true)                        \
-    M(OLAP_ERR_INVALID_CLUSTER_INFO, -225, "", true)                     \
-    M(OLAP_ERR_TRANSACTION_NOT_EXIST, -226, "", true)                    \
-    M(OLAP_ERR_DISK_FAILURE, -227, "", true)                             \
-    M(OLAP_ERR_TRANSACTION_ALREADY_COMMITTED, -228, "", true)            \
-    M(OLAP_ERR_TRANSACTION_ALREADY_VISIBLE, -229, "", true)              \
-    M(OLAP_ERR_VERSION_ALREADY_MERGED, -230, "", true)                   \
-    M(OLAP_ERR_LZO_DISABLED, -231, "", true)                             \
-    M(OLAP_ERR_DISK_REACH_CAPACITY_LIMIT, -232, "", true)                \
-    M(OLAP_ERR_TOO_MANY_TRANSACTIONS, -233, "", true)                    \
-    M(OLAP_ERR_INVALID_SNAPSHOT_VERSION, -234, "", true)                 \
-    M(OLAP_ERR_TOO_MANY_VERSION, -235, "", true)                         \
-    M(OLAP_ERR_NOT_INITIALIZED, -236, "", true)                          \
-    M(OLAP_ERR_ALREADY_CANCELLED, -237, "", true)                        \
-    M(OLAP_ERR_TOO_MANY_SEGMENTS, -238, "", true)                        \
-    M(OLAP_ERR_CE_CMD_PARAMS_ERROR, -300, "", true)                      \
-    M(OLAP_ERR_CE_BUFFER_TOO_SMALL, -301, "", true)                      \
-    M(OLAP_ERR_CE_CMD_NOT_VALID, -302, "", true)                         \
-    M(OLAP_ERR_CE_LOAD_TABLE_ERROR, -303, "", true)                      \
-    M(OLAP_ERR_CE_NOT_FINISHED, -304, "", true)                          \
-    M(OLAP_ERR_CE_TABLET_ID_EXIST, -305, "", true)                       \
-    M(OLAP_ERR_CE_TRY_CE_LOCK_ERROR, -306, "", false)                    \
-    M(OLAP_ERR_TABLE_VERSION_DUPLICATE_ERROR, -400, "", true)            \
-    M(OLAP_ERR_TABLE_VERSION_INDEX_MISMATCH_ERROR, -401, "", true)       \
-    M(OLAP_ERR_TABLE_INDEX_VALIDATE_ERROR, -402, "", true)               \
-    M(OLAP_ERR_TABLE_INDEX_FIND_ERROR, -403, "", true)                   \
-    M(OLAP_ERR_TABLE_CREATE_FROM_HEADER_ERROR, -404, "", true)           \
-    M(OLAP_ERR_TABLE_CREATE_META_ERROR, -405, "", true)                  \
-    M(OLAP_ERR_TABLE_ALREADY_DELETED_ERROR, -406, "", false)             \
-    M(OLAP_ERR_ENGINE_INSERT_EXISTS_TABLE, -500, "", true)               \
-    M(OLAP_ERR_ENGINE_DROP_NOEXISTS_TABLE, -501, "", true)               \
-    M(OLAP_ERR_ENGINE_LOAD_INDEX_TABLE_ERROR, -502, "", true)            \
-    M(OLAP_ERR_TABLE_INSERT_DUPLICATION_ERROR, -503, "", true)           \
-    M(OLAP_ERR_DELETE_VERSION_ERROR, -504, "", true)                     \
-    M(OLAP_ERR_GC_SCAN_PATH_ERROR, -505, "", true)                       \
-    M(OLAP_ERR_ENGINE_INSERT_OLD_TABLET, -506, "", true)                 \
-    M(OLAP_ERR_FETCH_OTHER_ERROR, -600, "", true)                        \
-    M(OLAP_ERR_FETCH_TABLE_NOT_EXIST, -601, "", true)                    \
-    M(OLAP_ERR_FETCH_VERSION_ERROR, -602, "", true)                      \
-    M(OLAP_ERR_FETCH_SCHEMA_ERROR, -603, "", true)                       \
-    M(OLAP_ERR_FETCH_COMPRESSION_ERROR, -604, "", true)                  \
-    M(OLAP_ERR_FETCH_CONTEXT_NOT_EXIST, -605, "", true)                  \
-    M(OLAP_ERR_FETCH_GET_READER_PARAMS_ERR, -606, "", true)              \
-    M(OLAP_ERR_FETCH_SAVE_SESSION_ERR, -607, "", true)                   \
-    M(OLAP_ERR_FETCH_MEMORY_EXCEEDED, -608, "", true)                    \
-    M(OLAP_ERR_READER_IS_UNINITIALIZED, -700, "", true)                  \
-    M(OLAP_ERR_READER_GET_ITERATOR_ERROR, -701, "", true)                \
-    M(OLAP_ERR_CAPTURE_ROWSET_READER_ERROR, -702, "", true)              \
-    M(OLAP_ERR_READER_READING_ERROR, -703, "", true)                     \
-    M(OLAP_ERR_READER_INITIALIZE_ERROR, -704, "", true)                  \
-    M(OLAP_ERR_BE_VERSION_NOT_MATCH, -800, "", true)                     \
-    M(OLAP_ERR_BE_REPLACE_VERSIONS_ERROR, -801, "", true)                \
-    M(OLAP_ERR_BE_MERGE_ERROR, -802, "", true)                           \
-    M(OLAP_ERR_CAPTURE_ROWSET_ERROR, -804, "", true)                     \
-    M(OLAP_ERR_BE_SAVE_HEADER_ERROR, -805, "", true)                     \
-    M(OLAP_ERR_BE_INIT_OLAP_DATA, -806, "", true)                        \
-    M(OLAP_ERR_BE_TRY_OBTAIN_VERSION_LOCKS, -807, "", true)              \
-    M(OLAP_ERR_BE_NO_SUITABLE_VERSION, -808, "", false)                  \
-    M(OLAP_ERR_BE_TRY_BE_LOCK_ERROR, -809, "", true)                     \
-    M(OLAP_ERR_BE_INVALID_NEED_MERGED_VERSIONS, -810, "", true)          \
-    M(OLAP_ERR_BE_ERROR_DELETE_ACTION, -811, "", true)                   \
-    M(OLAP_ERR_BE_SEGMENTS_OVERLAPPING, -812, "", true)                  \
-    M(OLAP_ERR_BE_CLONE_OCCURRED, -813, "", true)                        \
-    M(OLAP_ERR_PUSH_INIT_ERROR, -900, "", true)                          \
-    M(OLAP_ERR_PUSH_DELTA_FILE_EOF, -901, "", false)                     \
-    M(OLAP_ERR_PUSH_VERSION_INCORRECT, -902, "", true)                   \
-    M(OLAP_ERR_PUSH_SCHEMA_MISMATCH, -903, "", true)                     \
-    M(OLAP_ERR_PUSH_CHECKSUM_ERROR, -904, "", true)                      \
-    M(OLAP_ERR_PUSH_ACQUIRE_DATASOURCE_ERROR, -905, "", true)            \
-    M(OLAP_ERR_PUSH_CREAT_CUMULATIVE_ERROR, -906, "", true)              \
-    M(OLAP_ERR_PUSH_BUILD_DELTA_ERROR, -907, "", true)                   \
-    M(OLAP_ERR_PUSH_VERSION_ALREADY_EXIST, -908, "", true)               \
-    M(OLAP_ERR_PUSH_TABLE_NOT_EXIST, -909, "", true)                     \
-    M(OLAP_ERR_PUSH_INPUT_DATA_ERROR, -910, "", true)                    \
-    M(OLAP_ERR_PUSH_TRANSACTION_ALREADY_EXIST, -911, "", true)           \
-    M(OLAP_ERR_PUSH_BATCH_PROCESS_REMOVED, -912, "", true)               \
-    M(OLAP_ERR_PUSH_COMMIT_ROWSET, -913, "", true)                       \
-    M(OLAP_ERR_PUSH_ROWSET_NOT_FOUND, -914, "", true)                    \
-    M(OLAP_ERR_INDEX_LOAD_ERROR, -1000, "", true)                        \
-    M(OLAP_ERR_INDEX_EOF, -1001, "", false)                              \
-    M(OLAP_ERR_INDEX_CHECKSUM_ERROR, -1002, "", true)                    \
-    M(OLAP_ERR_INDEX_DELTA_PRUNING, -1003, "", true)                     \
-    M(OLAP_ERR_DATA_ROW_BLOCK_ERROR, -1100, "", true)                    \
-    M(OLAP_ERR_DATA_FILE_TYPE_ERROR, -1101, "", true)                    \
-    M(OLAP_ERR_DATA_EOF, -1102, "", false)                               \
-    M(OLAP_ERR_WRITER_INDEX_WRITE_ERROR, -1200, "", true)                \
-    M(OLAP_ERR_WRITER_DATA_WRITE_ERROR, -1201, "", true)                 \
-    M(OLAP_ERR_WRITER_ROW_BLOCK_ERROR, -1202, "", true)                  \
-    M(OLAP_ERR_WRITER_SEGMENT_NOT_FINALIZED, -1203, "", true)            \
-    M(OLAP_ERR_ROWBLOCK_DECOMPRESS_ERROR, -1300, "", true)               \
-    M(OLAP_ERR_ROWBLOCK_FIND_ROW_EXCEPTION, -1301, "", true)             \
-    M(OLAP_ERR_ROWBLOCK_READ_INFO_ERROR, -1302, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_VERSION, -1400, "", true)                      \
-    M(OLAP_ERR_HEADER_DELETE_VERSION, -1401, "", true)                   \
-    M(OLAP_ERR_HEADER_ADD_PENDING_DELTA, -1402, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_INCREMENTAL_VERSION, -1403, "", true)          \
-    M(OLAP_ERR_HEADER_INVALID_FLAG, -1404, "", true)                     \
-    M(OLAP_ERR_HEADER_PUT, -1405, "", true)                              \
-    M(OLAP_ERR_HEADER_DELETE, -1406, "", true)                           \
-    M(OLAP_ERR_HEADER_GET, -1407, "", true)                              \
-    M(OLAP_ERR_HEADER_LOAD_INVALID_KEY, -1408, "", true)                 \
-    M(OLAP_ERR_HEADER_FLAG_PUT, -1409, "", true)                         \
-    M(OLAP_ERR_HEADER_LOAD_JSON_HEADER, -1410, "", true)                 \
-    M(OLAP_ERR_HEADER_INIT_FAILED, -1411, "", true)                      \
-    M(OLAP_ERR_HEADER_PB_PARSE_FAILED, -1412, "", true)                  \
-    M(OLAP_ERR_HEADER_HAS_PENDING_DATA, -1413, "", false)                \
-    M(OLAP_ERR_SCHEMA_SCHEMA_INVALID, -1500, "", false)                  \
-    M(OLAP_ERR_SCHEMA_SCHEMA_FIELD_INVALID, -1501, "", true)             \
-    M(OLAP_ERR_ALTER_MULTI_TABLE_ERR, -1600, "", true)                   \
-    M(OLAP_ERR_ALTER_DELTA_DOES_NOT_EXISTS, -1601, "", true)             \
-    M(OLAP_ERR_ALTER_STATUS_ERR, -1602, "", true)                        \
-    M(OLAP_ERR_PREVIOUS_SCHEMA_CHANGE_NOT_FINISHED, -1603, "", true)     \
-    M(OLAP_ERR_SCHEMA_CHANGE_INFO_INVALID, -1604, "", true)              \
-    M(OLAP_ERR_QUERY_SPLIT_KEY_ERR, -1605, "", true)                     \
-    M(OLAP_ERR_DATA_QUALITY_ERR, -1606, "", true)                        \
-    M(OLAP_ERR_COLUMN_DATA_LOAD_BLOCK, -1700, "", true)                  \
-    M(OLAP_ERR_COLUMN_DATA_RECORD_INDEX, -1701, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_MAKE_FILE_HEADER, -1702, "", true)            \
-    M(OLAP_ERR_COLUMN_DATA_READ_VAR_INT, -1703, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_PATCH_LIST_NUM, -1704, "", true)              \
-    M(OLAP_ERR_COLUMN_STREAM_EOF, -1705, "", false)                      \
-    M(OLAP_ERR_COLUMN_READ_STREAM, -1706, "", true)                      \
-    M(OLAP_ERR_COLUMN_STREAM_NOT_EXIST, -1716, "", true)                 \
-    M(OLAP_ERR_COLUMN_VALUE_NULL, -1717, "", true)                       \
-    M(OLAP_ERR_COLUMN_SEEK_ERROR, -1719, "", true)                       \
-    M(OLAP_ERR_DELETE_INVALID_CONDITION, -1900, "", true)                \
-    M(OLAP_ERR_DELETE_UPDATE_HEADER_FAILED, -1901, "", true)             \
-    M(OLAP_ERR_DELETE_SAVE_HEADER_FAILED, -1902, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_PARAMETERS, -1903, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_VERSION, -1904, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_NO_SUITABLE_VERSION, -2000, "", false)         \
-    M(OLAP_ERR_CUMULATIVE_REPEAT_INIT, -2001, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_INVALID_PARAMETERS, -2002, "", true)           \
-    M(OLAP_ERR_CUMULATIVE_FAILED_ACQUIRE_DATA_SOURCE, -2003, "", true)   \
-    M(OLAP_ERR_CUMULATIVE_INVALID_NEED_MERGED_VERSIONS, -2004, "", true) \
-    M(OLAP_ERR_CUMULATIVE_ERROR_DELETE_ACTION, -2005, "", true)          \
-    M(OLAP_ERR_CUMULATIVE_MISS_VERSION, -2006, "", true)                 \
-    M(OLAP_ERR_CUMULATIVE_CLONE_OCCURRED, -2007, "", true)               \
-    M(OLAP_ERR_META_INVALID_ARGUMENT, -3000, "", true)                   \
-    M(OLAP_ERR_META_OPEN_DB, -3001, "", true)                            \
-    M(OLAP_ERR_META_KEY_NOT_FOUND, -3002, "", true)                      \
-    M(OLAP_ERR_META_GET, -3003, "", true)                                \
-    M(OLAP_ERR_META_PUT, -3004, "", true)                                \
-    M(OLAP_ERR_META_ITERATOR, -3005, "", true)                           \
-    M(OLAP_ERR_META_DELETE, -3006, "", true)                             \
-    M(OLAP_ERR_META_ALREADY_EXIST, -3007, "", true)                      \
-    M(OLAP_ERR_ROWSET_WRITER_INIT, -3100, "", true)                      \
-    M(OLAP_ERR_ROWSET_SAVE_FAILED, -3101, "", true)                      \
-    M(OLAP_ERR_ROWSET_GENERATE_ID_FAILED, -3102, "", true)               \
-    M(OLAP_ERR_ROWSET_DELETE_FILE_FAILED, -3103, "", true)               \
-    M(OLAP_ERR_ROWSET_BUILDER_INIT, -3104, "", true)                     \
-    M(OLAP_ERR_ROWSET_TYPE_NOT_FOUND, -3105, "", true)                   \
-    M(OLAP_ERR_ROWSET_ALREADY_EXIST, -3106, "", true)                    \
-    M(OLAP_ERR_ROWSET_CREATE_READER, -3107, "", true)                    \
-    M(OLAP_ERR_ROWSET_INVALID, -3108, "", true)                          \
-    M(OLAP_ERR_ROWSET_LOAD_FAILED, -3109, "", true)                      \
-    M(OLAP_ERR_ROWSET_READER_INIT, -3110, "", true)                      \
-    M(OLAP_ERR_ROWSET_READ_FAILED, -3111, "", true)                      \
-    M(OLAP_ERR_ROWSET_INVALID_STATE_TRANSITION, -3112, "", true)         \
-    M(OLAP_ERR_STRING_OVERFLOW_IN_VEC_ENGINE, -3113, "", true)           \
-    M(OLAP_ERR_ROWSET_ADD_MIGRATION_V2, -3114, "", true)                 \
-    M(OLAP_ERR_PUBLISH_VERSION_NOT_CONTINUOUS, -3115, "", false)         \
-    M(OLAP_ERR_ROWSET_RENAME_FILE_FAILED, -3116, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_READER, -3117, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_WRITER, -3118, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_FAILED, -3119, "", false)
-
-enum ErrorCode {
-#define M(NAME, ERRORCODE, DESC, STACKTRACEENABLED) NAME = ERRORCODE,
-    APPLY_FOR_ERROR_CODES(M)
-#undef M
-};
+namespace ErrorCode {
+#define E(name, code) static constexpr int name = code
+E(OK, 0);
+#define TStatusError(name) E(name, TStatusCode::name)
+// Errors defined in TStatus
+TStatusError(PUBLISH_TIMEOUT);
+TStatusError(MEM_ALLOC_FAILED);
+TStatusError(BUFFER_ALLOCATION_FAILED);
+TStatusError(INVALID_ARGUMENT);
+TStatusError(MINIMUM_RESERVATION_UNAVAILABLE);
+TStatusError(CORRUPTION);
+TStatusError(IO_ERROR);
+TStatusError(NOT_FOUND);
+TStatusError(ALREADY_EXIST);
+TStatusError(NOT_IMPLEMENTED_ERROR);
+TStatusError(END_OF_FILE);
+TStatusError(INTERNAL_ERROR);
+TStatusError(RUNTIME_ERROR);
+TStatusError(CANCELLED);
+TStatusError(MEM_LIMIT_EXCEEDED);
+TStatusError(THRIFT_RPC_ERROR);
+TStatusError(TIMEOUT);
+TStatusError(TOO_MANY_TASKS);
+TStatusError(SERVICE_UNAVAILABLE);
+TStatusError(UNINITIALIZED);
+TStatusError(ABORTED);
+TStatusError(DATA_QUALITY_ERROR);
+TStatusError(LABEL_ALREADY_EXISTS);
+#undef TStatusError
+// BE internal errors
+E(OS_ERROR, -100);
+E(DIR_NOT_EXIST, -101);
+E(FILE_NOT_EXIST, -102);
+E(CREATE_FILE_ERROR, -103);
+E(STL_ERROR, -105);
+E(MUTEX_ERROR, -107);
+E(PTHREAD_ERROR, -108);
+E(NETWORK_ERROR, -109);

Review Comment:
   warning: unused variable 'NETWORK_ERROR' [clang-diagnostic-unused-const-variable]
   ```cpp
   E(NETWORK_ERROR, -109);
     ^
   ```
   



##########
be/src/common/status.h:
##########
@@ -12,249 +12,283 @@
 #include <string_view>
 
 #include "common/compiler_util.h"
-#include "common/logging.h"
 #include "gen_cpp/Status_types.h" // for TStatus
+#ifdef ENABLE_STACKTRACE
+#include "util/stack_util.h"
+#endif
 
 namespace doris {
 
 class PStatus;
 
-// ErrorName, ErrorCode, String Description, Should print stacktrace
-#define APPLY_FOR_ERROR_CODES(M)                                         \
-    M(OLAP_SUCCESS, 0, "", false)                                        \
-    M(OLAP_ERR_OTHER_ERROR, -1, "", true)                                \
-    M(OLAP_REQUEST_FAILED, -2, "", false)                                \
-    M(OLAP_ERR_OS_ERROR, -100, "", true)                                 \
-    M(OLAP_ERR_DIR_NOT_EXIST, -101, "", true)                            \
-    M(OLAP_ERR_FILE_NOT_EXIST, -102, "", true)                           \
-    M(OLAP_ERR_CREATE_FILE_ERROR, -103, "", true)                        \
-    M(OLAP_ERR_MALLOC_ERROR, -104, "", true)                             \
-    M(OLAP_ERR_STL_ERROR, -105, "", true)                                \
-    M(OLAP_ERR_IO_ERROR, -106, "", true)                                 \
-    M(OLAP_ERR_MUTEX_ERROR, -107, "", true)                              \
-    M(OLAP_ERR_PTHREAD_ERROR, -108, "", true)                            \
-    M(OLAP_ERR_NETWORK_ERROR, -109, "", true)                            \
-    M(OLAP_ERR_UB_FUNC_ERROR, -110, "", true)                            \
-    M(OLAP_ERR_COMPRESS_ERROR, -111, "", true)                           \
-    M(OLAP_ERR_DECOMPRESS_ERROR, -112, "", true)                         \
-    M(OLAP_ERR_UNKNOWN_COMPRESSION_TYPE, -113, "", true)                 \
-    M(OLAP_ERR_MMAP_ERROR, -114, "", true)                               \
-    M(OLAP_ERR_RWLOCK_ERROR, -115, "", true)                             \
-    M(OLAP_ERR_READ_UNENOUGH, -116, "", true)                            \
-    M(OLAP_ERR_CANNOT_CREATE_DIR, -117, "", true)                        \
-    M(OLAP_ERR_UB_NETWORK_ERROR, -118, "", true)                         \
-    M(OLAP_ERR_FILE_FORMAT_ERROR, -119, "", true)                        \
-    M(OLAP_ERR_EVAL_CONJUNCTS_ERROR, -120, "", true)                     \
-    M(OLAP_ERR_COPY_FILE_ERROR, -121, "", true)                          \
-    M(OLAP_ERR_FILE_ALREADY_EXIST, -122, "", true)                       \
-    M(OLAP_ERR_NOT_INITED, -200, "", true)                               \
-    M(OLAP_ERR_FUNC_NOT_IMPLEMENTED, -201, "", true)                     \
-    M(OLAP_ERR_CALL_SEQUENCE_ERROR, -202, "", true)                      \
-    M(OLAP_ERR_INPUT_PARAMETER_ERROR, -203, "", true)                    \
-    M(OLAP_ERR_BUFFER_OVERFLOW, -204, "", true)                          \
-    M(OLAP_ERR_CONFIG_ERROR, -205, "", true)                             \
-    M(OLAP_ERR_INIT_FAILED, -206, "", true)                              \
-    M(OLAP_ERR_INVALID_SCHEMA, -207, "", true)                           \
-    M(OLAP_ERR_CHECKSUM_ERROR, -208, "", true)                           \
-    M(OLAP_ERR_SIGNATURE_ERROR, -209, "", true)                          \
-    M(OLAP_ERR_CATCH_EXCEPTION, -210, "", true)                          \
-    M(OLAP_ERR_PARSE_PROTOBUF_ERROR, -211, "", true)                     \
-    M(OLAP_ERR_SERIALIZE_PROTOBUF_ERROR, -212, "", true)                 \
-    M(OLAP_ERR_WRITE_PROTOBUF_ERROR, -213, "", true)                     \
-    M(OLAP_ERR_VERSION_NOT_EXIST, -214, "", true)                        \
-    M(OLAP_ERR_TABLE_NOT_FOUND, -215, "", true)                          \
-    M(OLAP_ERR_TRY_LOCK_FAILED, -216, "", true)                          \
-    M(OLAP_ERR_OUT_OF_BOUND, -218, "", true)                             \
-    M(OLAP_ERR_UNDERFLOW, -219, "", true)                                \
-    M(OLAP_ERR_FILE_DATA_ERROR, -220, "", true)                          \
-    M(OLAP_ERR_TEST_FILE_ERROR, -221, "", true)                          \
-    M(OLAP_ERR_INVALID_ROOT_PATH, -222, "", true)                        \
-    M(OLAP_ERR_NO_AVAILABLE_ROOT_PATH, -223, "", true)                   \
-    M(OLAP_ERR_CHECK_LINES_ERROR, -224, "", true)                        \
-    M(OLAP_ERR_INVALID_CLUSTER_INFO, -225, "", true)                     \
-    M(OLAP_ERR_TRANSACTION_NOT_EXIST, -226, "", true)                    \
-    M(OLAP_ERR_DISK_FAILURE, -227, "", true)                             \
-    M(OLAP_ERR_TRANSACTION_ALREADY_COMMITTED, -228, "", true)            \
-    M(OLAP_ERR_TRANSACTION_ALREADY_VISIBLE, -229, "", true)              \
-    M(OLAP_ERR_VERSION_ALREADY_MERGED, -230, "", true)                   \
-    M(OLAP_ERR_LZO_DISABLED, -231, "", true)                             \
-    M(OLAP_ERR_DISK_REACH_CAPACITY_LIMIT, -232, "", true)                \
-    M(OLAP_ERR_TOO_MANY_TRANSACTIONS, -233, "", true)                    \
-    M(OLAP_ERR_INVALID_SNAPSHOT_VERSION, -234, "", true)                 \
-    M(OLAP_ERR_TOO_MANY_VERSION, -235, "", true)                         \
-    M(OLAP_ERR_NOT_INITIALIZED, -236, "", true)                          \
-    M(OLAP_ERR_ALREADY_CANCELLED, -237, "", true)                        \
-    M(OLAP_ERR_TOO_MANY_SEGMENTS, -238, "", true)                        \
-    M(OLAP_ERR_CE_CMD_PARAMS_ERROR, -300, "", true)                      \
-    M(OLAP_ERR_CE_BUFFER_TOO_SMALL, -301, "", true)                      \
-    M(OLAP_ERR_CE_CMD_NOT_VALID, -302, "", true)                         \
-    M(OLAP_ERR_CE_LOAD_TABLE_ERROR, -303, "", true)                      \
-    M(OLAP_ERR_CE_NOT_FINISHED, -304, "", true)                          \
-    M(OLAP_ERR_CE_TABLET_ID_EXIST, -305, "", true)                       \
-    M(OLAP_ERR_CE_TRY_CE_LOCK_ERROR, -306, "", false)                    \
-    M(OLAP_ERR_TABLE_VERSION_DUPLICATE_ERROR, -400, "", true)            \
-    M(OLAP_ERR_TABLE_VERSION_INDEX_MISMATCH_ERROR, -401, "", true)       \
-    M(OLAP_ERR_TABLE_INDEX_VALIDATE_ERROR, -402, "", true)               \
-    M(OLAP_ERR_TABLE_INDEX_FIND_ERROR, -403, "", true)                   \
-    M(OLAP_ERR_TABLE_CREATE_FROM_HEADER_ERROR, -404, "", true)           \
-    M(OLAP_ERR_TABLE_CREATE_META_ERROR, -405, "", true)                  \
-    M(OLAP_ERR_TABLE_ALREADY_DELETED_ERROR, -406, "", false)             \
-    M(OLAP_ERR_ENGINE_INSERT_EXISTS_TABLE, -500, "", true)               \
-    M(OLAP_ERR_ENGINE_DROP_NOEXISTS_TABLE, -501, "", true)               \
-    M(OLAP_ERR_ENGINE_LOAD_INDEX_TABLE_ERROR, -502, "", true)            \
-    M(OLAP_ERR_TABLE_INSERT_DUPLICATION_ERROR, -503, "", true)           \
-    M(OLAP_ERR_DELETE_VERSION_ERROR, -504, "", true)                     \
-    M(OLAP_ERR_GC_SCAN_PATH_ERROR, -505, "", true)                       \
-    M(OLAP_ERR_ENGINE_INSERT_OLD_TABLET, -506, "", true)                 \
-    M(OLAP_ERR_FETCH_OTHER_ERROR, -600, "", true)                        \
-    M(OLAP_ERR_FETCH_TABLE_NOT_EXIST, -601, "", true)                    \
-    M(OLAP_ERR_FETCH_VERSION_ERROR, -602, "", true)                      \
-    M(OLAP_ERR_FETCH_SCHEMA_ERROR, -603, "", true)                       \
-    M(OLAP_ERR_FETCH_COMPRESSION_ERROR, -604, "", true)                  \
-    M(OLAP_ERR_FETCH_CONTEXT_NOT_EXIST, -605, "", true)                  \
-    M(OLAP_ERR_FETCH_GET_READER_PARAMS_ERR, -606, "", true)              \
-    M(OLAP_ERR_FETCH_SAVE_SESSION_ERR, -607, "", true)                   \
-    M(OLAP_ERR_FETCH_MEMORY_EXCEEDED, -608, "", true)                    \
-    M(OLAP_ERR_READER_IS_UNINITIALIZED, -700, "", true)                  \
-    M(OLAP_ERR_READER_GET_ITERATOR_ERROR, -701, "", true)                \
-    M(OLAP_ERR_CAPTURE_ROWSET_READER_ERROR, -702, "", true)              \
-    M(OLAP_ERR_READER_READING_ERROR, -703, "", true)                     \
-    M(OLAP_ERR_READER_INITIALIZE_ERROR, -704, "", true)                  \
-    M(OLAP_ERR_BE_VERSION_NOT_MATCH, -800, "", true)                     \
-    M(OLAP_ERR_BE_REPLACE_VERSIONS_ERROR, -801, "", true)                \
-    M(OLAP_ERR_BE_MERGE_ERROR, -802, "", true)                           \
-    M(OLAP_ERR_CAPTURE_ROWSET_ERROR, -804, "", true)                     \
-    M(OLAP_ERR_BE_SAVE_HEADER_ERROR, -805, "", true)                     \
-    M(OLAP_ERR_BE_INIT_OLAP_DATA, -806, "", true)                        \
-    M(OLAP_ERR_BE_TRY_OBTAIN_VERSION_LOCKS, -807, "", true)              \
-    M(OLAP_ERR_BE_NO_SUITABLE_VERSION, -808, "", false)                  \
-    M(OLAP_ERR_BE_TRY_BE_LOCK_ERROR, -809, "", true)                     \
-    M(OLAP_ERR_BE_INVALID_NEED_MERGED_VERSIONS, -810, "", true)          \
-    M(OLAP_ERR_BE_ERROR_DELETE_ACTION, -811, "", true)                   \
-    M(OLAP_ERR_BE_SEGMENTS_OVERLAPPING, -812, "", true)                  \
-    M(OLAP_ERR_BE_CLONE_OCCURRED, -813, "", true)                        \
-    M(OLAP_ERR_PUSH_INIT_ERROR, -900, "", true)                          \
-    M(OLAP_ERR_PUSH_DELTA_FILE_EOF, -901, "", false)                     \
-    M(OLAP_ERR_PUSH_VERSION_INCORRECT, -902, "", true)                   \
-    M(OLAP_ERR_PUSH_SCHEMA_MISMATCH, -903, "", true)                     \
-    M(OLAP_ERR_PUSH_CHECKSUM_ERROR, -904, "", true)                      \
-    M(OLAP_ERR_PUSH_ACQUIRE_DATASOURCE_ERROR, -905, "", true)            \
-    M(OLAP_ERR_PUSH_CREAT_CUMULATIVE_ERROR, -906, "", true)              \
-    M(OLAP_ERR_PUSH_BUILD_DELTA_ERROR, -907, "", true)                   \
-    M(OLAP_ERR_PUSH_VERSION_ALREADY_EXIST, -908, "", true)               \
-    M(OLAP_ERR_PUSH_TABLE_NOT_EXIST, -909, "", true)                     \
-    M(OLAP_ERR_PUSH_INPUT_DATA_ERROR, -910, "", true)                    \
-    M(OLAP_ERR_PUSH_TRANSACTION_ALREADY_EXIST, -911, "", true)           \
-    M(OLAP_ERR_PUSH_BATCH_PROCESS_REMOVED, -912, "", true)               \
-    M(OLAP_ERR_PUSH_COMMIT_ROWSET, -913, "", true)                       \
-    M(OLAP_ERR_PUSH_ROWSET_NOT_FOUND, -914, "", true)                    \
-    M(OLAP_ERR_INDEX_LOAD_ERROR, -1000, "", true)                        \
-    M(OLAP_ERR_INDEX_EOF, -1001, "", false)                              \
-    M(OLAP_ERR_INDEX_CHECKSUM_ERROR, -1002, "", true)                    \
-    M(OLAP_ERR_INDEX_DELTA_PRUNING, -1003, "", true)                     \
-    M(OLAP_ERR_DATA_ROW_BLOCK_ERROR, -1100, "", true)                    \
-    M(OLAP_ERR_DATA_FILE_TYPE_ERROR, -1101, "", true)                    \
-    M(OLAP_ERR_DATA_EOF, -1102, "", false)                               \
-    M(OLAP_ERR_WRITER_INDEX_WRITE_ERROR, -1200, "", true)                \
-    M(OLAP_ERR_WRITER_DATA_WRITE_ERROR, -1201, "", true)                 \
-    M(OLAP_ERR_WRITER_ROW_BLOCK_ERROR, -1202, "", true)                  \
-    M(OLAP_ERR_WRITER_SEGMENT_NOT_FINALIZED, -1203, "", true)            \
-    M(OLAP_ERR_ROWBLOCK_DECOMPRESS_ERROR, -1300, "", true)               \
-    M(OLAP_ERR_ROWBLOCK_FIND_ROW_EXCEPTION, -1301, "", true)             \
-    M(OLAP_ERR_ROWBLOCK_READ_INFO_ERROR, -1302, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_VERSION, -1400, "", true)                      \
-    M(OLAP_ERR_HEADER_DELETE_VERSION, -1401, "", true)                   \
-    M(OLAP_ERR_HEADER_ADD_PENDING_DELTA, -1402, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_INCREMENTAL_VERSION, -1403, "", true)          \
-    M(OLAP_ERR_HEADER_INVALID_FLAG, -1404, "", true)                     \
-    M(OLAP_ERR_HEADER_PUT, -1405, "", true)                              \
-    M(OLAP_ERR_HEADER_DELETE, -1406, "", true)                           \
-    M(OLAP_ERR_HEADER_GET, -1407, "", true)                              \
-    M(OLAP_ERR_HEADER_LOAD_INVALID_KEY, -1408, "", true)                 \
-    M(OLAP_ERR_HEADER_FLAG_PUT, -1409, "", true)                         \
-    M(OLAP_ERR_HEADER_LOAD_JSON_HEADER, -1410, "", true)                 \
-    M(OLAP_ERR_HEADER_INIT_FAILED, -1411, "", true)                      \
-    M(OLAP_ERR_HEADER_PB_PARSE_FAILED, -1412, "", true)                  \
-    M(OLAP_ERR_HEADER_HAS_PENDING_DATA, -1413, "", false)                \
-    M(OLAP_ERR_SCHEMA_SCHEMA_INVALID, -1500, "", false)                  \
-    M(OLAP_ERR_SCHEMA_SCHEMA_FIELD_INVALID, -1501, "", true)             \
-    M(OLAP_ERR_ALTER_MULTI_TABLE_ERR, -1600, "", true)                   \
-    M(OLAP_ERR_ALTER_DELTA_DOES_NOT_EXISTS, -1601, "", true)             \
-    M(OLAP_ERR_ALTER_STATUS_ERR, -1602, "", true)                        \
-    M(OLAP_ERR_PREVIOUS_SCHEMA_CHANGE_NOT_FINISHED, -1603, "", true)     \
-    M(OLAP_ERR_SCHEMA_CHANGE_INFO_INVALID, -1604, "", true)              \
-    M(OLAP_ERR_QUERY_SPLIT_KEY_ERR, -1605, "", true)                     \
-    M(OLAP_ERR_DATA_QUALITY_ERR, -1606, "", true)                        \
-    M(OLAP_ERR_COLUMN_DATA_LOAD_BLOCK, -1700, "", true)                  \
-    M(OLAP_ERR_COLUMN_DATA_RECORD_INDEX, -1701, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_MAKE_FILE_HEADER, -1702, "", true)            \
-    M(OLAP_ERR_COLUMN_DATA_READ_VAR_INT, -1703, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_PATCH_LIST_NUM, -1704, "", true)              \
-    M(OLAP_ERR_COLUMN_STREAM_EOF, -1705, "", false)                      \
-    M(OLAP_ERR_COLUMN_READ_STREAM, -1706, "", true)                      \
-    M(OLAP_ERR_COLUMN_STREAM_NOT_EXIST, -1716, "", true)                 \
-    M(OLAP_ERR_COLUMN_VALUE_NULL, -1717, "", true)                       \
-    M(OLAP_ERR_COLUMN_SEEK_ERROR, -1719, "", true)                       \
-    M(OLAP_ERR_DELETE_INVALID_CONDITION, -1900, "", true)                \
-    M(OLAP_ERR_DELETE_UPDATE_HEADER_FAILED, -1901, "", true)             \
-    M(OLAP_ERR_DELETE_SAVE_HEADER_FAILED, -1902, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_PARAMETERS, -1903, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_VERSION, -1904, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_NO_SUITABLE_VERSION, -2000, "", false)         \
-    M(OLAP_ERR_CUMULATIVE_REPEAT_INIT, -2001, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_INVALID_PARAMETERS, -2002, "", true)           \
-    M(OLAP_ERR_CUMULATIVE_FAILED_ACQUIRE_DATA_SOURCE, -2003, "", true)   \
-    M(OLAP_ERR_CUMULATIVE_INVALID_NEED_MERGED_VERSIONS, -2004, "", true) \
-    M(OLAP_ERR_CUMULATIVE_ERROR_DELETE_ACTION, -2005, "", true)          \
-    M(OLAP_ERR_CUMULATIVE_MISS_VERSION, -2006, "", true)                 \
-    M(OLAP_ERR_CUMULATIVE_CLONE_OCCURRED, -2007, "", true)               \
-    M(OLAP_ERR_META_INVALID_ARGUMENT, -3000, "", true)                   \
-    M(OLAP_ERR_META_OPEN_DB, -3001, "", true)                            \
-    M(OLAP_ERR_META_KEY_NOT_FOUND, -3002, "", true)                      \
-    M(OLAP_ERR_META_GET, -3003, "", true)                                \
-    M(OLAP_ERR_META_PUT, -3004, "", true)                                \
-    M(OLAP_ERR_META_ITERATOR, -3005, "", true)                           \
-    M(OLAP_ERR_META_DELETE, -3006, "", true)                             \
-    M(OLAP_ERR_META_ALREADY_EXIST, -3007, "", true)                      \
-    M(OLAP_ERR_ROWSET_WRITER_INIT, -3100, "", true)                      \
-    M(OLAP_ERR_ROWSET_SAVE_FAILED, -3101, "", true)                      \
-    M(OLAP_ERR_ROWSET_GENERATE_ID_FAILED, -3102, "", true)               \
-    M(OLAP_ERR_ROWSET_DELETE_FILE_FAILED, -3103, "", true)               \
-    M(OLAP_ERR_ROWSET_BUILDER_INIT, -3104, "", true)                     \
-    M(OLAP_ERR_ROWSET_TYPE_NOT_FOUND, -3105, "", true)                   \
-    M(OLAP_ERR_ROWSET_ALREADY_EXIST, -3106, "", true)                    \
-    M(OLAP_ERR_ROWSET_CREATE_READER, -3107, "", true)                    \
-    M(OLAP_ERR_ROWSET_INVALID, -3108, "", true)                          \
-    M(OLAP_ERR_ROWSET_LOAD_FAILED, -3109, "", true)                      \
-    M(OLAP_ERR_ROWSET_READER_INIT, -3110, "", true)                      \
-    M(OLAP_ERR_ROWSET_READ_FAILED, -3111, "", true)                      \
-    M(OLAP_ERR_ROWSET_INVALID_STATE_TRANSITION, -3112, "", true)         \
-    M(OLAP_ERR_STRING_OVERFLOW_IN_VEC_ENGINE, -3113, "", true)           \
-    M(OLAP_ERR_ROWSET_ADD_MIGRATION_V2, -3114, "", true)                 \
-    M(OLAP_ERR_PUBLISH_VERSION_NOT_CONTINUOUS, -3115, "", false)         \
-    M(OLAP_ERR_ROWSET_RENAME_FILE_FAILED, -3116, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_READER, -3117, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_WRITER, -3118, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_FAILED, -3119, "", false)
-
-enum ErrorCode {
-#define M(NAME, ERRORCODE, DESC, STACKTRACEENABLED) NAME = ERRORCODE,
-    APPLY_FOR_ERROR_CODES(M)
-#undef M
-};
+namespace ErrorCode {
+#define E(name, code) static constexpr int name = code
+E(OK, 0);
+#define TStatusError(name) E(name, TStatusCode::name)
+// Errors defined in TStatus
+TStatusError(PUBLISH_TIMEOUT);
+TStatusError(MEM_ALLOC_FAILED);
+TStatusError(BUFFER_ALLOCATION_FAILED);
+TStatusError(INVALID_ARGUMENT);
+TStatusError(MINIMUM_RESERVATION_UNAVAILABLE);
+TStatusError(CORRUPTION);
+TStatusError(IO_ERROR);
+TStatusError(NOT_FOUND);
+TStatusError(ALREADY_EXIST);
+TStatusError(NOT_IMPLEMENTED_ERROR);
+TStatusError(END_OF_FILE);
+TStatusError(INTERNAL_ERROR);
+TStatusError(RUNTIME_ERROR);
+TStatusError(CANCELLED);
+TStatusError(MEM_LIMIT_EXCEEDED);
+TStatusError(THRIFT_RPC_ERROR);
+TStatusError(TIMEOUT);
+TStatusError(TOO_MANY_TASKS);
+TStatusError(SERVICE_UNAVAILABLE);
+TStatusError(UNINITIALIZED);
+TStatusError(ABORTED);
+TStatusError(DATA_QUALITY_ERROR);
+TStatusError(LABEL_ALREADY_EXISTS);
+#undef TStatusError
+// BE internal errors
+E(OS_ERROR, -100);
+E(DIR_NOT_EXIST, -101);
+E(FILE_NOT_EXIST, -102);
+E(CREATE_FILE_ERROR, -103);
+E(STL_ERROR, -105);
+E(MUTEX_ERROR, -107);
+E(PTHREAD_ERROR, -108);
+E(NETWORK_ERROR, -109);
+E(UB_FUNC_ERROR, -110);
+E(COMPRESS_ERROR, -111);
+E(DECOMPRESS_ERROR, -112);
+E(UNKNOWN_COMPRESSION_TYPE, -113);
+E(MMAP_ERROR, -114);
+E(READ_UNENOUGH, -116);
+E(CANNOT_CREATE_DIR, -117);
+E(UB_NETWORK_ERROR, -118);
+E(FILE_FORMAT_ERROR, -119);
+E(EVAL_CONJUNCTS_ERROR, -120);
+E(COPY_FILE_ERROR, -121);

Review Comment:
   warning: unused variable 'COPY_FILE_ERROR' [clang-diagnostic-unused-const-variable]
   ```cpp
   E(COPY_FILE_ERROR, -121);
     ^
   ```
   



##########
be/src/common/status.h:
##########
@@ -12,249 +12,283 @@
 #include <string_view>
 
 #include "common/compiler_util.h"
-#include "common/logging.h"
 #include "gen_cpp/Status_types.h" // for TStatus
+#ifdef ENABLE_STACKTRACE
+#include "util/stack_util.h"
+#endif
 
 namespace doris {
 
 class PStatus;
 
-// ErrorName, ErrorCode, String Description, Should print stacktrace
-#define APPLY_FOR_ERROR_CODES(M)                                         \
-    M(OLAP_SUCCESS, 0, "", false)                                        \
-    M(OLAP_ERR_OTHER_ERROR, -1, "", true)                                \
-    M(OLAP_REQUEST_FAILED, -2, "", false)                                \
-    M(OLAP_ERR_OS_ERROR, -100, "", true)                                 \
-    M(OLAP_ERR_DIR_NOT_EXIST, -101, "", true)                            \
-    M(OLAP_ERR_FILE_NOT_EXIST, -102, "", true)                           \
-    M(OLAP_ERR_CREATE_FILE_ERROR, -103, "", true)                        \
-    M(OLAP_ERR_MALLOC_ERROR, -104, "", true)                             \
-    M(OLAP_ERR_STL_ERROR, -105, "", true)                                \
-    M(OLAP_ERR_IO_ERROR, -106, "", true)                                 \
-    M(OLAP_ERR_MUTEX_ERROR, -107, "", true)                              \
-    M(OLAP_ERR_PTHREAD_ERROR, -108, "", true)                            \
-    M(OLAP_ERR_NETWORK_ERROR, -109, "", true)                            \
-    M(OLAP_ERR_UB_FUNC_ERROR, -110, "", true)                            \
-    M(OLAP_ERR_COMPRESS_ERROR, -111, "", true)                           \
-    M(OLAP_ERR_DECOMPRESS_ERROR, -112, "", true)                         \
-    M(OLAP_ERR_UNKNOWN_COMPRESSION_TYPE, -113, "", true)                 \
-    M(OLAP_ERR_MMAP_ERROR, -114, "", true)                               \
-    M(OLAP_ERR_RWLOCK_ERROR, -115, "", true)                             \
-    M(OLAP_ERR_READ_UNENOUGH, -116, "", true)                            \
-    M(OLAP_ERR_CANNOT_CREATE_DIR, -117, "", true)                        \
-    M(OLAP_ERR_UB_NETWORK_ERROR, -118, "", true)                         \
-    M(OLAP_ERR_FILE_FORMAT_ERROR, -119, "", true)                        \
-    M(OLAP_ERR_EVAL_CONJUNCTS_ERROR, -120, "", true)                     \
-    M(OLAP_ERR_COPY_FILE_ERROR, -121, "", true)                          \
-    M(OLAP_ERR_FILE_ALREADY_EXIST, -122, "", true)                       \
-    M(OLAP_ERR_NOT_INITED, -200, "", true)                               \
-    M(OLAP_ERR_FUNC_NOT_IMPLEMENTED, -201, "", true)                     \
-    M(OLAP_ERR_CALL_SEQUENCE_ERROR, -202, "", true)                      \
-    M(OLAP_ERR_INPUT_PARAMETER_ERROR, -203, "", true)                    \
-    M(OLAP_ERR_BUFFER_OVERFLOW, -204, "", true)                          \
-    M(OLAP_ERR_CONFIG_ERROR, -205, "", true)                             \
-    M(OLAP_ERR_INIT_FAILED, -206, "", true)                              \
-    M(OLAP_ERR_INVALID_SCHEMA, -207, "", true)                           \
-    M(OLAP_ERR_CHECKSUM_ERROR, -208, "", true)                           \
-    M(OLAP_ERR_SIGNATURE_ERROR, -209, "", true)                          \
-    M(OLAP_ERR_CATCH_EXCEPTION, -210, "", true)                          \
-    M(OLAP_ERR_PARSE_PROTOBUF_ERROR, -211, "", true)                     \
-    M(OLAP_ERR_SERIALIZE_PROTOBUF_ERROR, -212, "", true)                 \
-    M(OLAP_ERR_WRITE_PROTOBUF_ERROR, -213, "", true)                     \
-    M(OLAP_ERR_VERSION_NOT_EXIST, -214, "", true)                        \
-    M(OLAP_ERR_TABLE_NOT_FOUND, -215, "", true)                          \
-    M(OLAP_ERR_TRY_LOCK_FAILED, -216, "", true)                          \
-    M(OLAP_ERR_OUT_OF_BOUND, -218, "", true)                             \
-    M(OLAP_ERR_UNDERFLOW, -219, "", true)                                \
-    M(OLAP_ERR_FILE_DATA_ERROR, -220, "", true)                          \
-    M(OLAP_ERR_TEST_FILE_ERROR, -221, "", true)                          \
-    M(OLAP_ERR_INVALID_ROOT_PATH, -222, "", true)                        \
-    M(OLAP_ERR_NO_AVAILABLE_ROOT_PATH, -223, "", true)                   \
-    M(OLAP_ERR_CHECK_LINES_ERROR, -224, "", true)                        \
-    M(OLAP_ERR_INVALID_CLUSTER_INFO, -225, "", true)                     \
-    M(OLAP_ERR_TRANSACTION_NOT_EXIST, -226, "", true)                    \
-    M(OLAP_ERR_DISK_FAILURE, -227, "", true)                             \
-    M(OLAP_ERR_TRANSACTION_ALREADY_COMMITTED, -228, "", true)            \
-    M(OLAP_ERR_TRANSACTION_ALREADY_VISIBLE, -229, "", true)              \
-    M(OLAP_ERR_VERSION_ALREADY_MERGED, -230, "", true)                   \
-    M(OLAP_ERR_LZO_DISABLED, -231, "", true)                             \
-    M(OLAP_ERR_DISK_REACH_CAPACITY_LIMIT, -232, "", true)                \
-    M(OLAP_ERR_TOO_MANY_TRANSACTIONS, -233, "", true)                    \
-    M(OLAP_ERR_INVALID_SNAPSHOT_VERSION, -234, "", true)                 \
-    M(OLAP_ERR_TOO_MANY_VERSION, -235, "", true)                         \
-    M(OLAP_ERR_NOT_INITIALIZED, -236, "", true)                          \
-    M(OLAP_ERR_ALREADY_CANCELLED, -237, "", true)                        \
-    M(OLAP_ERR_TOO_MANY_SEGMENTS, -238, "", true)                        \
-    M(OLAP_ERR_CE_CMD_PARAMS_ERROR, -300, "", true)                      \
-    M(OLAP_ERR_CE_BUFFER_TOO_SMALL, -301, "", true)                      \
-    M(OLAP_ERR_CE_CMD_NOT_VALID, -302, "", true)                         \
-    M(OLAP_ERR_CE_LOAD_TABLE_ERROR, -303, "", true)                      \
-    M(OLAP_ERR_CE_NOT_FINISHED, -304, "", true)                          \
-    M(OLAP_ERR_CE_TABLET_ID_EXIST, -305, "", true)                       \
-    M(OLAP_ERR_CE_TRY_CE_LOCK_ERROR, -306, "", false)                    \
-    M(OLAP_ERR_TABLE_VERSION_DUPLICATE_ERROR, -400, "", true)            \
-    M(OLAP_ERR_TABLE_VERSION_INDEX_MISMATCH_ERROR, -401, "", true)       \
-    M(OLAP_ERR_TABLE_INDEX_VALIDATE_ERROR, -402, "", true)               \
-    M(OLAP_ERR_TABLE_INDEX_FIND_ERROR, -403, "", true)                   \
-    M(OLAP_ERR_TABLE_CREATE_FROM_HEADER_ERROR, -404, "", true)           \
-    M(OLAP_ERR_TABLE_CREATE_META_ERROR, -405, "", true)                  \
-    M(OLAP_ERR_TABLE_ALREADY_DELETED_ERROR, -406, "", false)             \
-    M(OLAP_ERR_ENGINE_INSERT_EXISTS_TABLE, -500, "", true)               \
-    M(OLAP_ERR_ENGINE_DROP_NOEXISTS_TABLE, -501, "", true)               \
-    M(OLAP_ERR_ENGINE_LOAD_INDEX_TABLE_ERROR, -502, "", true)            \
-    M(OLAP_ERR_TABLE_INSERT_DUPLICATION_ERROR, -503, "", true)           \
-    M(OLAP_ERR_DELETE_VERSION_ERROR, -504, "", true)                     \
-    M(OLAP_ERR_GC_SCAN_PATH_ERROR, -505, "", true)                       \
-    M(OLAP_ERR_ENGINE_INSERT_OLD_TABLET, -506, "", true)                 \
-    M(OLAP_ERR_FETCH_OTHER_ERROR, -600, "", true)                        \
-    M(OLAP_ERR_FETCH_TABLE_NOT_EXIST, -601, "", true)                    \
-    M(OLAP_ERR_FETCH_VERSION_ERROR, -602, "", true)                      \
-    M(OLAP_ERR_FETCH_SCHEMA_ERROR, -603, "", true)                       \
-    M(OLAP_ERR_FETCH_COMPRESSION_ERROR, -604, "", true)                  \
-    M(OLAP_ERR_FETCH_CONTEXT_NOT_EXIST, -605, "", true)                  \
-    M(OLAP_ERR_FETCH_GET_READER_PARAMS_ERR, -606, "", true)              \
-    M(OLAP_ERR_FETCH_SAVE_SESSION_ERR, -607, "", true)                   \
-    M(OLAP_ERR_FETCH_MEMORY_EXCEEDED, -608, "", true)                    \
-    M(OLAP_ERR_READER_IS_UNINITIALIZED, -700, "", true)                  \
-    M(OLAP_ERR_READER_GET_ITERATOR_ERROR, -701, "", true)                \
-    M(OLAP_ERR_CAPTURE_ROWSET_READER_ERROR, -702, "", true)              \
-    M(OLAP_ERR_READER_READING_ERROR, -703, "", true)                     \
-    M(OLAP_ERR_READER_INITIALIZE_ERROR, -704, "", true)                  \
-    M(OLAP_ERR_BE_VERSION_NOT_MATCH, -800, "", true)                     \
-    M(OLAP_ERR_BE_REPLACE_VERSIONS_ERROR, -801, "", true)                \
-    M(OLAP_ERR_BE_MERGE_ERROR, -802, "", true)                           \
-    M(OLAP_ERR_CAPTURE_ROWSET_ERROR, -804, "", true)                     \
-    M(OLAP_ERR_BE_SAVE_HEADER_ERROR, -805, "", true)                     \
-    M(OLAP_ERR_BE_INIT_OLAP_DATA, -806, "", true)                        \
-    M(OLAP_ERR_BE_TRY_OBTAIN_VERSION_LOCKS, -807, "", true)              \
-    M(OLAP_ERR_BE_NO_SUITABLE_VERSION, -808, "", false)                  \
-    M(OLAP_ERR_BE_TRY_BE_LOCK_ERROR, -809, "", true)                     \
-    M(OLAP_ERR_BE_INVALID_NEED_MERGED_VERSIONS, -810, "", true)          \
-    M(OLAP_ERR_BE_ERROR_DELETE_ACTION, -811, "", true)                   \
-    M(OLAP_ERR_BE_SEGMENTS_OVERLAPPING, -812, "", true)                  \
-    M(OLAP_ERR_BE_CLONE_OCCURRED, -813, "", true)                        \
-    M(OLAP_ERR_PUSH_INIT_ERROR, -900, "", true)                          \
-    M(OLAP_ERR_PUSH_DELTA_FILE_EOF, -901, "", false)                     \
-    M(OLAP_ERR_PUSH_VERSION_INCORRECT, -902, "", true)                   \
-    M(OLAP_ERR_PUSH_SCHEMA_MISMATCH, -903, "", true)                     \
-    M(OLAP_ERR_PUSH_CHECKSUM_ERROR, -904, "", true)                      \
-    M(OLAP_ERR_PUSH_ACQUIRE_DATASOURCE_ERROR, -905, "", true)            \
-    M(OLAP_ERR_PUSH_CREAT_CUMULATIVE_ERROR, -906, "", true)              \
-    M(OLAP_ERR_PUSH_BUILD_DELTA_ERROR, -907, "", true)                   \
-    M(OLAP_ERR_PUSH_VERSION_ALREADY_EXIST, -908, "", true)               \
-    M(OLAP_ERR_PUSH_TABLE_NOT_EXIST, -909, "", true)                     \
-    M(OLAP_ERR_PUSH_INPUT_DATA_ERROR, -910, "", true)                    \
-    M(OLAP_ERR_PUSH_TRANSACTION_ALREADY_EXIST, -911, "", true)           \
-    M(OLAP_ERR_PUSH_BATCH_PROCESS_REMOVED, -912, "", true)               \
-    M(OLAP_ERR_PUSH_COMMIT_ROWSET, -913, "", true)                       \
-    M(OLAP_ERR_PUSH_ROWSET_NOT_FOUND, -914, "", true)                    \
-    M(OLAP_ERR_INDEX_LOAD_ERROR, -1000, "", true)                        \
-    M(OLAP_ERR_INDEX_EOF, -1001, "", false)                              \
-    M(OLAP_ERR_INDEX_CHECKSUM_ERROR, -1002, "", true)                    \
-    M(OLAP_ERR_INDEX_DELTA_PRUNING, -1003, "", true)                     \
-    M(OLAP_ERR_DATA_ROW_BLOCK_ERROR, -1100, "", true)                    \
-    M(OLAP_ERR_DATA_FILE_TYPE_ERROR, -1101, "", true)                    \
-    M(OLAP_ERR_DATA_EOF, -1102, "", false)                               \
-    M(OLAP_ERR_WRITER_INDEX_WRITE_ERROR, -1200, "", true)                \
-    M(OLAP_ERR_WRITER_DATA_WRITE_ERROR, -1201, "", true)                 \
-    M(OLAP_ERR_WRITER_ROW_BLOCK_ERROR, -1202, "", true)                  \
-    M(OLAP_ERR_WRITER_SEGMENT_NOT_FINALIZED, -1203, "", true)            \
-    M(OLAP_ERR_ROWBLOCK_DECOMPRESS_ERROR, -1300, "", true)               \
-    M(OLAP_ERR_ROWBLOCK_FIND_ROW_EXCEPTION, -1301, "", true)             \
-    M(OLAP_ERR_ROWBLOCK_READ_INFO_ERROR, -1302, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_VERSION, -1400, "", true)                      \
-    M(OLAP_ERR_HEADER_DELETE_VERSION, -1401, "", true)                   \
-    M(OLAP_ERR_HEADER_ADD_PENDING_DELTA, -1402, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_INCREMENTAL_VERSION, -1403, "", true)          \
-    M(OLAP_ERR_HEADER_INVALID_FLAG, -1404, "", true)                     \
-    M(OLAP_ERR_HEADER_PUT, -1405, "", true)                              \
-    M(OLAP_ERR_HEADER_DELETE, -1406, "", true)                           \
-    M(OLAP_ERR_HEADER_GET, -1407, "", true)                              \
-    M(OLAP_ERR_HEADER_LOAD_INVALID_KEY, -1408, "", true)                 \
-    M(OLAP_ERR_HEADER_FLAG_PUT, -1409, "", true)                         \
-    M(OLAP_ERR_HEADER_LOAD_JSON_HEADER, -1410, "", true)                 \
-    M(OLAP_ERR_HEADER_INIT_FAILED, -1411, "", true)                      \
-    M(OLAP_ERR_HEADER_PB_PARSE_FAILED, -1412, "", true)                  \
-    M(OLAP_ERR_HEADER_HAS_PENDING_DATA, -1413, "", false)                \
-    M(OLAP_ERR_SCHEMA_SCHEMA_INVALID, -1500, "", false)                  \
-    M(OLAP_ERR_SCHEMA_SCHEMA_FIELD_INVALID, -1501, "", true)             \
-    M(OLAP_ERR_ALTER_MULTI_TABLE_ERR, -1600, "", true)                   \
-    M(OLAP_ERR_ALTER_DELTA_DOES_NOT_EXISTS, -1601, "", true)             \
-    M(OLAP_ERR_ALTER_STATUS_ERR, -1602, "", true)                        \
-    M(OLAP_ERR_PREVIOUS_SCHEMA_CHANGE_NOT_FINISHED, -1603, "", true)     \
-    M(OLAP_ERR_SCHEMA_CHANGE_INFO_INVALID, -1604, "", true)              \
-    M(OLAP_ERR_QUERY_SPLIT_KEY_ERR, -1605, "", true)                     \
-    M(OLAP_ERR_DATA_QUALITY_ERR, -1606, "", true)                        \
-    M(OLAP_ERR_COLUMN_DATA_LOAD_BLOCK, -1700, "", true)                  \
-    M(OLAP_ERR_COLUMN_DATA_RECORD_INDEX, -1701, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_MAKE_FILE_HEADER, -1702, "", true)            \
-    M(OLAP_ERR_COLUMN_DATA_READ_VAR_INT, -1703, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_PATCH_LIST_NUM, -1704, "", true)              \
-    M(OLAP_ERR_COLUMN_STREAM_EOF, -1705, "", false)                      \
-    M(OLAP_ERR_COLUMN_READ_STREAM, -1706, "", true)                      \
-    M(OLAP_ERR_COLUMN_STREAM_NOT_EXIST, -1716, "", true)                 \
-    M(OLAP_ERR_COLUMN_VALUE_NULL, -1717, "", true)                       \
-    M(OLAP_ERR_COLUMN_SEEK_ERROR, -1719, "", true)                       \
-    M(OLAP_ERR_DELETE_INVALID_CONDITION, -1900, "", true)                \
-    M(OLAP_ERR_DELETE_UPDATE_HEADER_FAILED, -1901, "", true)             \
-    M(OLAP_ERR_DELETE_SAVE_HEADER_FAILED, -1902, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_PARAMETERS, -1903, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_VERSION, -1904, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_NO_SUITABLE_VERSION, -2000, "", false)         \
-    M(OLAP_ERR_CUMULATIVE_REPEAT_INIT, -2001, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_INVALID_PARAMETERS, -2002, "", true)           \
-    M(OLAP_ERR_CUMULATIVE_FAILED_ACQUIRE_DATA_SOURCE, -2003, "", true)   \
-    M(OLAP_ERR_CUMULATIVE_INVALID_NEED_MERGED_VERSIONS, -2004, "", true) \
-    M(OLAP_ERR_CUMULATIVE_ERROR_DELETE_ACTION, -2005, "", true)          \
-    M(OLAP_ERR_CUMULATIVE_MISS_VERSION, -2006, "", true)                 \
-    M(OLAP_ERR_CUMULATIVE_CLONE_OCCURRED, -2007, "", true)               \
-    M(OLAP_ERR_META_INVALID_ARGUMENT, -3000, "", true)                   \
-    M(OLAP_ERR_META_OPEN_DB, -3001, "", true)                            \
-    M(OLAP_ERR_META_KEY_NOT_FOUND, -3002, "", true)                      \
-    M(OLAP_ERR_META_GET, -3003, "", true)                                \
-    M(OLAP_ERR_META_PUT, -3004, "", true)                                \
-    M(OLAP_ERR_META_ITERATOR, -3005, "", true)                           \
-    M(OLAP_ERR_META_DELETE, -3006, "", true)                             \
-    M(OLAP_ERR_META_ALREADY_EXIST, -3007, "", true)                      \
-    M(OLAP_ERR_ROWSET_WRITER_INIT, -3100, "", true)                      \
-    M(OLAP_ERR_ROWSET_SAVE_FAILED, -3101, "", true)                      \
-    M(OLAP_ERR_ROWSET_GENERATE_ID_FAILED, -3102, "", true)               \
-    M(OLAP_ERR_ROWSET_DELETE_FILE_FAILED, -3103, "", true)               \
-    M(OLAP_ERR_ROWSET_BUILDER_INIT, -3104, "", true)                     \
-    M(OLAP_ERR_ROWSET_TYPE_NOT_FOUND, -3105, "", true)                   \
-    M(OLAP_ERR_ROWSET_ALREADY_EXIST, -3106, "", true)                    \
-    M(OLAP_ERR_ROWSET_CREATE_READER, -3107, "", true)                    \
-    M(OLAP_ERR_ROWSET_INVALID, -3108, "", true)                          \
-    M(OLAP_ERR_ROWSET_LOAD_FAILED, -3109, "", true)                      \
-    M(OLAP_ERR_ROWSET_READER_INIT, -3110, "", true)                      \
-    M(OLAP_ERR_ROWSET_READ_FAILED, -3111, "", true)                      \
-    M(OLAP_ERR_ROWSET_INVALID_STATE_TRANSITION, -3112, "", true)         \
-    M(OLAP_ERR_STRING_OVERFLOW_IN_VEC_ENGINE, -3113, "", true)           \
-    M(OLAP_ERR_ROWSET_ADD_MIGRATION_V2, -3114, "", true)                 \
-    M(OLAP_ERR_PUBLISH_VERSION_NOT_CONTINUOUS, -3115, "", false)         \
-    M(OLAP_ERR_ROWSET_RENAME_FILE_FAILED, -3116, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_READER, -3117, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_WRITER, -3118, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_FAILED, -3119, "", false)
-
-enum ErrorCode {
-#define M(NAME, ERRORCODE, DESC, STACKTRACEENABLED) NAME = ERRORCODE,
-    APPLY_FOR_ERROR_CODES(M)
-#undef M
-};
+namespace ErrorCode {
+#define E(name, code) static constexpr int name = code
+E(OK, 0);
+#define TStatusError(name) E(name, TStatusCode::name)
+// Errors defined in TStatus
+TStatusError(PUBLISH_TIMEOUT);
+TStatusError(MEM_ALLOC_FAILED);
+TStatusError(BUFFER_ALLOCATION_FAILED);
+TStatusError(INVALID_ARGUMENT);
+TStatusError(MINIMUM_RESERVATION_UNAVAILABLE);
+TStatusError(CORRUPTION);
+TStatusError(IO_ERROR);
+TStatusError(NOT_FOUND);
+TStatusError(ALREADY_EXIST);
+TStatusError(NOT_IMPLEMENTED_ERROR);
+TStatusError(END_OF_FILE);
+TStatusError(INTERNAL_ERROR);
+TStatusError(RUNTIME_ERROR);
+TStatusError(CANCELLED);
+TStatusError(MEM_LIMIT_EXCEEDED);
+TStatusError(THRIFT_RPC_ERROR);
+TStatusError(TIMEOUT);
+TStatusError(TOO_MANY_TASKS);
+TStatusError(SERVICE_UNAVAILABLE);
+TStatusError(UNINITIALIZED);
+TStatusError(ABORTED);
+TStatusError(DATA_QUALITY_ERROR);
+TStatusError(LABEL_ALREADY_EXISTS);
+#undef TStatusError
+// BE internal errors
+E(OS_ERROR, -100);
+E(DIR_NOT_EXIST, -101);
+E(FILE_NOT_EXIST, -102);

Review Comment:
   warning: unused variable 'FILE_NOT_EXIST' [clang-diagnostic-unused-const-variable]
   ```cpp
   E(FILE_NOT_EXIST, -102);
     ^
   ```
   



##########
be/src/common/status.h:
##########
@@ -12,249 +12,283 @@
 #include <string_view>
 
 #include "common/compiler_util.h"
-#include "common/logging.h"
 #include "gen_cpp/Status_types.h" // for TStatus
+#ifdef ENABLE_STACKTRACE
+#include "util/stack_util.h"
+#endif
 
 namespace doris {
 
 class PStatus;
 
-// ErrorName, ErrorCode, String Description, Should print stacktrace
-#define APPLY_FOR_ERROR_CODES(M)                                         \
-    M(OLAP_SUCCESS, 0, "", false)                                        \
-    M(OLAP_ERR_OTHER_ERROR, -1, "", true)                                \
-    M(OLAP_REQUEST_FAILED, -2, "", false)                                \
-    M(OLAP_ERR_OS_ERROR, -100, "", true)                                 \
-    M(OLAP_ERR_DIR_NOT_EXIST, -101, "", true)                            \
-    M(OLAP_ERR_FILE_NOT_EXIST, -102, "", true)                           \
-    M(OLAP_ERR_CREATE_FILE_ERROR, -103, "", true)                        \
-    M(OLAP_ERR_MALLOC_ERROR, -104, "", true)                             \
-    M(OLAP_ERR_STL_ERROR, -105, "", true)                                \
-    M(OLAP_ERR_IO_ERROR, -106, "", true)                                 \
-    M(OLAP_ERR_MUTEX_ERROR, -107, "", true)                              \
-    M(OLAP_ERR_PTHREAD_ERROR, -108, "", true)                            \
-    M(OLAP_ERR_NETWORK_ERROR, -109, "", true)                            \
-    M(OLAP_ERR_UB_FUNC_ERROR, -110, "", true)                            \
-    M(OLAP_ERR_COMPRESS_ERROR, -111, "", true)                           \
-    M(OLAP_ERR_DECOMPRESS_ERROR, -112, "", true)                         \
-    M(OLAP_ERR_UNKNOWN_COMPRESSION_TYPE, -113, "", true)                 \
-    M(OLAP_ERR_MMAP_ERROR, -114, "", true)                               \
-    M(OLAP_ERR_RWLOCK_ERROR, -115, "", true)                             \
-    M(OLAP_ERR_READ_UNENOUGH, -116, "", true)                            \
-    M(OLAP_ERR_CANNOT_CREATE_DIR, -117, "", true)                        \
-    M(OLAP_ERR_UB_NETWORK_ERROR, -118, "", true)                         \
-    M(OLAP_ERR_FILE_FORMAT_ERROR, -119, "", true)                        \
-    M(OLAP_ERR_EVAL_CONJUNCTS_ERROR, -120, "", true)                     \
-    M(OLAP_ERR_COPY_FILE_ERROR, -121, "", true)                          \
-    M(OLAP_ERR_FILE_ALREADY_EXIST, -122, "", true)                       \
-    M(OLAP_ERR_NOT_INITED, -200, "", true)                               \
-    M(OLAP_ERR_FUNC_NOT_IMPLEMENTED, -201, "", true)                     \
-    M(OLAP_ERR_CALL_SEQUENCE_ERROR, -202, "", true)                      \
-    M(OLAP_ERR_INPUT_PARAMETER_ERROR, -203, "", true)                    \
-    M(OLAP_ERR_BUFFER_OVERFLOW, -204, "", true)                          \
-    M(OLAP_ERR_CONFIG_ERROR, -205, "", true)                             \
-    M(OLAP_ERR_INIT_FAILED, -206, "", true)                              \
-    M(OLAP_ERR_INVALID_SCHEMA, -207, "", true)                           \
-    M(OLAP_ERR_CHECKSUM_ERROR, -208, "", true)                           \
-    M(OLAP_ERR_SIGNATURE_ERROR, -209, "", true)                          \
-    M(OLAP_ERR_CATCH_EXCEPTION, -210, "", true)                          \
-    M(OLAP_ERR_PARSE_PROTOBUF_ERROR, -211, "", true)                     \
-    M(OLAP_ERR_SERIALIZE_PROTOBUF_ERROR, -212, "", true)                 \
-    M(OLAP_ERR_WRITE_PROTOBUF_ERROR, -213, "", true)                     \
-    M(OLAP_ERR_VERSION_NOT_EXIST, -214, "", true)                        \
-    M(OLAP_ERR_TABLE_NOT_FOUND, -215, "", true)                          \
-    M(OLAP_ERR_TRY_LOCK_FAILED, -216, "", true)                          \
-    M(OLAP_ERR_OUT_OF_BOUND, -218, "", true)                             \
-    M(OLAP_ERR_UNDERFLOW, -219, "", true)                                \
-    M(OLAP_ERR_FILE_DATA_ERROR, -220, "", true)                          \
-    M(OLAP_ERR_TEST_FILE_ERROR, -221, "", true)                          \
-    M(OLAP_ERR_INVALID_ROOT_PATH, -222, "", true)                        \
-    M(OLAP_ERR_NO_AVAILABLE_ROOT_PATH, -223, "", true)                   \
-    M(OLAP_ERR_CHECK_LINES_ERROR, -224, "", true)                        \
-    M(OLAP_ERR_INVALID_CLUSTER_INFO, -225, "", true)                     \
-    M(OLAP_ERR_TRANSACTION_NOT_EXIST, -226, "", true)                    \
-    M(OLAP_ERR_DISK_FAILURE, -227, "", true)                             \
-    M(OLAP_ERR_TRANSACTION_ALREADY_COMMITTED, -228, "", true)            \
-    M(OLAP_ERR_TRANSACTION_ALREADY_VISIBLE, -229, "", true)              \
-    M(OLAP_ERR_VERSION_ALREADY_MERGED, -230, "", true)                   \
-    M(OLAP_ERR_LZO_DISABLED, -231, "", true)                             \
-    M(OLAP_ERR_DISK_REACH_CAPACITY_LIMIT, -232, "", true)                \
-    M(OLAP_ERR_TOO_MANY_TRANSACTIONS, -233, "", true)                    \
-    M(OLAP_ERR_INVALID_SNAPSHOT_VERSION, -234, "", true)                 \
-    M(OLAP_ERR_TOO_MANY_VERSION, -235, "", true)                         \
-    M(OLAP_ERR_NOT_INITIALIZED, -236, "", true)                          \
-    M(OLAP_ERR_ALREADY_CANCELLED, -237, "", true)                        \
-    M(OLAP_ERR_TOO_MANY_SEGMENTS, -238, "", true)                        \
-    M(OLAP_ERR_CE_CMD_PARAMS_ERROR, -300, "", true)                      \
-    M(OLAP_ERR_CE_BUFFER_TOO_SMALL, -301, "", true)                      \
-    M(OLAP_ERR_CE_CMD_NOT_VALID, -302, "", true)                         \
-    M(OLAP_ERR_CE_LOAD_TABLE_ERROR, -303, "", true)                      \
-    M(OLAP_ERR_CE_NOT_FINISHED, -304, "", true)                          \
-    M(OLAP_ERR_CE_TABLET_ID_EXIST, -305, "", true)                       \
-    M(OLAP_ERR_CE_TRY_CE_LOCK_ERROR, -306, "", false)                    \
-    M(OLAP_ERR_TABLE_VERSION_DUPLICATE_ERROR, -400, "", true)            \
-    M(OLAP_ERR_TABLE_VERSION_INDEX_MISMATCH_ERROR, -401, "", true)       \
-    M(OLAP_ERR_TABLE_INDEX_VALIDATE_ERROR, -402, "", true)               \
-    M(OLAP_ERR_TABLE_INDEX_FIND_ERROR, -403, "", true)                   \
-    M(OLAP_ERR_TABLE_CREATE_FROM_HEADER_ERROR, -404, "", true)           \
-    M(OLAP_ERR_TABLE_CREATE_META_ERROR, -405, "", true)                  \
-    M(OLAP_ERR_TABLE_ALREADY_DELETED_ERROR, -406, "", false)             \
-    M(OLAP_ERR_ENGINE_INSERT_EXISTS_TABLE, -500, "", true)               \
-    M(OLAP_ERR_ENGINE_DROP_NOEXISTS_TABLE, -501, "", true)               \
-    M(OLAP_ERR_ENGINE_LOAD_INDEX_TABLE_ERROR, -502, "", true)            \
-    M(OLAP_ERR_TABLE_INSERT_DUPLICATION_ERROR, -503, "", true)           \
-    M(OLAP_ERR_DELETE_VERSION_ERROR, -504, "", true)                     \
-    M(OLAP_ERR_GC_SCAN_PATH_ERROR, -505, "", true)                       \
-    M(OLAP_ERR_ENGINE_INSERT_OLD_TABLET, -506, "", true)                 \
-    M(OLAP_ERR_FETCH_OTHER_ERROR, -600, "", true)                        \
-    M(OLAP_ERR_FETCH_TABLE_NOT_EXIST, -601, "", true)                    \
-    M(OLAP_ERR_FETCH_VERSION_ERROR, -602, "", true)                      \
-    M(OLAP_ERR_FETCH_SCHEMA_ERROR, -603, "", true)                       \
-    M(OLAP_ERR_FETCH_COMPRESSION_ERROR, -604, "", true)                  \
-    M(OLAP_ERR_FETCH_CONTEXT_NOT_EXIST, -605, "", true)                  \
-    M(OLAP_ERR_FETCH_GET_READER_PARAMS_ERR, -606, "", true)              \
-    M(OLAP_ERR_FETCH_SAVE_SESSION_ERR, -607, "", true)                   \
-    M(OLAP_ERR_FETCH_MEMORY_EXCEEDED, -608, "", true)                    \
-    M(OLAP_ERR_READER_IS_UNINITIALIZED, -700, "", true)                  \
-    M(OLAP_ERR_READER_GET_ITERATOR_ERROR, -701, "", true)                \
-    M(OLAP_ERR_CAPTURE_ROWSET_READER_ERROR, -702, "", true)              \
-    M(OLAP_ERR_READER_READING_ERROR, -703, "", true)                     \
-    M(OLAP_ERR_READER_INITIALIZE_ERROR, -704, "", true)                  \
-    M(OLAP_ERR_BE_VERSION_NOT_MATCH, -800, "", true)                     \
-    M(OLAP_ERR_BE_REPLACE_VERSIONS_ERROR, -801, "", true)                \
-    M(OLAP_ERR_BE_MERGE_ERROR, -802, "", true)                           \
-    M(OLAP_ERR_CAPTURE_ROWSET_ERROR, -804, "", true)                     \
-    M(OLAP_ERR_BE_SAVE_HEADER_ERROR, -805, "", true)                     \
-    M(OLAP_ERR_BE_INIT_OLAP_DATA, -806, "", true)                        \
-    M(OLAP_ERR_BE_TRY_OBTAIN_VERSION_LOCKS, -807, "", true)              \
-    M(OLAP_ERR_BE_NO_SUITABLE_VERSION, -808, "", false)                  \
-    M(OLAP_ERR_BE_TRY_BE_LOCK_ERROR, -809, "", true)                     \
-    M(OLAP_ERR_BE_INVALID_NEED_MERGED_VERSIONS, -810, "", true)          \
-    M(OLAP_ERR_BE_ERROR_DELETE_ACTION, -811, "", true)                   \
-    M(OLAP_ERR_BE_SEGMENTS_OVERLAPPING, -812, "", true)                  \
-    M(OLAP_ERR_BE_CLONE_OCCURRED, -813, "", true)                        \
-    M(OLAP_ERR_PUSH_INIT_ERROR, -900, "", true)                          \
-    M(OLAP_ERR_PUSH_DELTA_FILE_EOF, -901, "", false)                     \
-    M(OLAP_ERR_PUSH_VERSION_INCORRECT, -902, "", true)                   \
-    M(OLAP_ERR_PUSH_SCHEMA_MISMATCH, -903, "", true)                     \
-    M(OLAP_ERR_PUSH_CHECKSUM_ERROR, -904, "", true)                      \
-    M(OLAP_ERR_PUSH_ACQUIRE_DATASOURCE_ERROR, -905, "", true)            \
-    M(OLAP_ERR_PUSH_CREAT_CUMULATIVE_ERROR, -906, "", true)              \
-    M(OLAP_ERR_PUSH_BUILD_DELTA_ERROR, -907, "", true)                   \
-    M(OLAP_ERR_PUSH_VERSION_ALREADY_EXIST, -908, "", true)               \
-    M(OLAP_ERR_PUSH_TABLE_NOT_EXIST, -909, "", true)                     \
-    M(OLAP_ERR_PUSH_INPUT_DATA_ERROR, -910, "", true)                    \
-    M(OLAP_ERR_PUSH_TRANSACTION_ALREADY_EXIST, -911, "", true)           \
-    M(OLAP_ERR_PUSH_BATCH_PROCESS_REMOVED, -912, "", true)               \
-    M(OLAP_ERR_PUSH_COMMIT_ROWSET, -913, "", true)                       \
-    M(OLAP_ERR_PUSH_ROWSET_NOT_FOUND, -914, "", true)                    \
-    M(OLAP_ERR_INDEX_LOAD_ERROR, -1000, "", true)                        \
-    M(OLAP_ERR_INDEX_EOF, -1001, "", false)                              \
-    M(OLAP_ERR_INDEX_CHECKSUM_ERROR, -1002, "", true)                    \
-    M(OLAP_ERR_INDEX_DELTA_PRUNING, -1003, "", true)                     \
-    M(OLAP_ERR_DATA_ROW_BLOCK_ERROR, -1100, "", true)                    \
-    M(OLAP_ERR_DATA_FILE_TYPE_ERROR, -1101, "", true)                    \
-    M(OLAP_ERR_DATA_EOF, -1102, "", false)                               \
-    M(OLAP_ERR_WRITER_INDEX_WRITE_ERROR, -1200, "", true)                \
-    M(OLAP_ERR_WRITER_DATA_WRITE_ERROR, -1201, "", true)                 \
-    M(OLAP_ERR_WRITER_ROW_BLOCK_ERROR, -1202, "", true)                  \
-    M(OLAP_ERR_WRITER_SEGMENT_NOT_FINALIZED, -1203, "", true)            \
-    M(OLAP_ERR_ROWBLOCK_DECOMPRESS_ERROR, -1300, "", true)               \
-    M(OLAP_ERR_ROWBLOCK_FIND_ROW_EXCEPTION, -1301, "", true)             \
-    M(OLAP_ERR_ROWBLOCK_READ_INFO_ERROR, -1302, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_VERSION, -1400, "", true)                      \
-    M(OLAP_ERR_HEADER_DELETE_VERSION, -1401, "", true)                   \
-    M(OLAP_ERR_HEADER_ADD_PENDING_DELTA, -1402, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_INCREMENTAL_VERSION, -1403, "", true)          \
-    M(OLAP_ERR_HEADER_INVALID_FLAG, -1404, "", true)                     \
-    M(OLAP_ERR_HEADER_PUT, -1405, "", true)                              \
-    M(OLAP_ERR_HEADER_DELETE, -1406, "", true)                           \
-    M(OLAP_ERR_HEADER_GET, -1407, "", true)                              \
-    M(OLAP_ERR_HEADER_LOAD_INVALID_KEY, -1408, "", true)                 \
-    M(OLAP_ERR_HEADER_FLAG_PUT, -1409, "", true)                         \
-    M(OLAP_ERR_HEADER_LOAD_JSON_HEADER, -1410, "", true)                 \
-    M(OLAP_ERR_HEADER_INIT_FAILED, -1411, "", true)                      \
-    M(OLAP_ERR_HEADER_PB_PARSE_FAILED, -1412, "", true)                  \
-    M(OLAP_ERR_HEADER_HAS_PENDING_DATA, -1413, "", false)                \
-    M(OLAP_ERR_SCHEMA_SCHEMA_INVALID, -1500, "", false)                  \
-    M(OLAP_ERR_SCHEMA_SCHEMA_FIELD_INVALID, -1501, "", true)             \
-    M(OLAP_ERR_ALTER_MULTI_TABLE_ERR, -1600, "", true)                   \
-    M(OLAP_ERR_ALTER_DELTA_DOES_NOT_EXISTS, -1601, "", true)             \
-    M(OLAP_ERR_ALTER_STATUS_ERR, -1602, "", true)                        \
-    M(OLAP_ERR_PREVIOUS_SCHEMA_CHANGE_NOT_FINISHED, -1603, "", true)     \
-    M(OLAP_ERR_SCHEMA_CHANGE_INFO_INVALID, -1604, "", true)              \
-    M(OLAP_ERR_QUERY_SPLIT_KEY_ERR, -1605, "", true)                     \
-    M(OLAP_ERR_DATA_QUALITY_ERR, -1606, "", true)                        \
-    M(OLAP_ERR_COLUMN_DATA_LOAD_BLOCK, -1700, "", true)                  \
-    M(OLAP_ERR_COLUMN_DATA_RECORD_INDEX, -1701, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_MAKE_FILE_HEADER, -1702, "", true)            \
-    M(OLAP_ERR_COLUMN_DATA_READ_VAR_INT, -1703, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_PATCH_LIST_NUM, -1704, "", true)              \
-    M(OLAP_ERR_COLUMN_STREAM_EOF, -1705, "", false)                      \
-    M(OLAP_ERR_COLUMN_READ_STREAM, -1706, "", true)                      \
-    M(OLAP_ERR_COLUMN_STREAM_NOT_EXIST, -1716, "", true)                 \
-    M(OLAP_ERR_COLUMN_VALUE_NULL, -1717, "", true)                       \
-    M(OLAP_ERR_COLUMN_SEEK_ERROR, -1719, "", true)                       \
-    M(OLAP_ERR_DELETE_INVALID_CONDITION, -1900, "", true)                \
-    M(OLAP_ERR_DELETE_UPDATE_HEADER_FAILED, -1901, "", true)             \
-    M(OLAP_ERR_DELETE_SAVE_HEADER_FAILED, -1902, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_PARAMETERS, -1903, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_VERSION, -1904, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_NO_SUITABLE_VERSION, -2000, "", false)         \
-    M(OLAP_ERR_CUMULATIVE_REPEAT_INIT, -2001, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_INVALID_PARAMETERS, -2002, "", true)           \
-    M(OLAP_ERR_CUMULATIVE_FAILED_ACQUIRE_DATA_SOURCE, -2003, "", true)   \
-    M(OLAP_ERR_CUMULATIVE_INVALID_NEED_MERGED_VERSIONS, -2004, "", true) \
-    M(OLAP_ERR_CUMULATIVE_ERROR_DELETE_ACTION, -2005, "", true)          \
-    M(OLAP_ERR_CUMULATIVE_MISS_VERSION, -2006, "", true)                 \
-    M(OLAP_ERR_CUMULATIVE_CLONE_OCCURRED, -2007, "", true)               \
-    M(OLAP_ERR_META_INVALID_ARGUMENT, -3000, "", true)                   \
-    M(OLAP_ERR_META_OPEN_DB, -3001, "", true)                            \
-    M(OLAP_ERR_META_KEY_NOT_FOUND, -3002, "", true)                      \
-    M(OLAP_ERR_META_GET, -3003, "", true)                                \
-    M(OLAP_ERR_META_PUT, -3004, "", true)                                \
-    M(OLAP_ERR_META_ITERATOR, -3005, "", true)                           \
-    M(OLAP_ERR_META_DELETE, -3006, "", true)                             \
-    M(OLAP_ERR_META_ALREADY_EXIST, -3007, "", true)                      \
-    M(OLAP_ERR_ROWSET_WRITER_INIT, -3100, "", true)                      \
-    M(OLAP_ERR_ROWSET_SAVE_FAILED, -3101, "", true)                      \
-    M(OLAP_ERR_ROWSET_GENERATE_ID_FAILED, -3102, "", true)               \
-    M(OLAP_ERR_ROWSET_DELETE_FILE_FAILED, -3103, "", true)               \
-    M(OLAP_ERR_ROWSET_BUILDER_INIT, -3104, "", true)                     \
-    M(OLAP_ERR_ROWSET_TYPE_NOT_FOUND, -3105, "", true)                   \
-    M(OLAP_ERR_ROWSET_ALREADY_EXIST, -3106, "", true)                    \
-    M(OLAP_ERR_ROWSET_CREATE_READER, -3107, "", true)                    \
-    M(OLAP_ERR_ROWSET_INVALID, -3108, "", true)                          \
-    M(OLAP_ERR_ROWSET_LOAD_FAILED, -3109, "", true)                      \
-    M(OLAP_ERR_ROWSET_READER_INIT, -3110, "", true)                      \
-    M(OLAP_ERR_ROWSET_READ_FAILED, -3111, "", true)                      \
-    M(OLAP_ERR_ROWSET_INVALID_STATE_TRANSITION, -3112, "", true)         \
-    M(OLAP_ERR_STRING_OVERFLOW_IN_VEC_ENGINE, -3113, "", true)           \
-    M(OLAP_ERR_ROWSET_ADD_MIGRATION_V2, -3114, "", true)                 \
-    M(OLAP_ERR_PUBLISH_VERSION_NOT_CONTINUOUS, -3115, "", false)         \
-    M(OLAP_ERR_ROWSET_RENAME_FILE_FAILED, -3116, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_READER, -3117, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_WRITER, -3118, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_FAILED, -3119, "", false)
-
-enum ErrorCode {
-#define M(NAME, ERRORCODE, DESC, STACKTRACEENABLED) NAME = ERRORCODE,
-    APPLY_FOR_ERROR_CODES(M)
-#undef M
-};
+namespace ErrorCode {
+#define E(name, code) static constexpr int name = code
+E(OK, 0);
+#define TStatusError(name) E(name, TStatusCode::name)
+// Errors defined in TStatus
+TStatusError(PUBLISH_TIMEOUT);
+TStatusError(MEM_ALLOC_FAILED);
+TStatusError(BUFFER_ALLOCATION_FAILED);
+TStatusError(INVALID_ARGUMENT);
+TStatusError(MINIMUM_RESERVATION_UNAVAILABLE);
+TStatusError(CORRUPTION);
+TStatusError(IO_ERROR);
+TStatusError(NOT_FOUND);
+TStatusError(ALREADY_EXIST);
+TStatusError(NOT_IMPLEMENTED_ERROR);
+TStatusError(END_OF_FILE);
+TStatusError(INTERNAL_ERROR);
+TStatusError(RUNTIME_ERROR);
+TStatusError(CANCELLED);
+TStatusError(MEM_LIMIT_EXCEEDED);
+TStatusError(THRIFT_RPC_ERROR);
+TStatusError(TIMEOUT);
+TStatusError(TOO_MANY_TASKS);
+TStatusError(SERVICE_UNAVAILABLE);
+TStatusError(UNINITIALIZED);
+TStatusError(ABORTED);
+TStatusError(DATA_QUALITY_ERROR);
+TStatusError(LABEL_ALREADY_EXISTS);

Review Comment:
   warning: unused variable 'LABEL_ALREADY_EXISTS' [clang-diagnostic-unused-const-variable]
   ```cpp
   TStatusError(LABEL_ALREADY_EXISTS);
                ^
   ```
   



##########
be/src/common/status.h:
##########
@@ -12,249 +12,283 @@
 #include <string_view>
 
 #include "common/compiler_util.h"
-#include "common/logging.h"
 #include "gen_cpp/Status_types.h" // for TStatus
+#ifdef ENABLE_STACKTRACE
+#include "util/stack_util.h"
+#endif
 
 namespace doris {
 
 class PStatus;
 
-// ErrorName, ErrorCode, String Description, Should print stacktrace
-#define APPLY_FOR_ERROR_CODES(M)                                         \
-    M(OLAP_SUCCESS, 0, "", false)                                        \
-    M(OLAP_ERR_OTHER_ERROR, -1, "", true)                                \
-    M(OLAP_REQUEST_FAILED, -2, "", false)                                \
-    M(OLAP_ERR_OS_ERROR, -100, "", true)                                 \
-    M(OLAP_ERR_DIR_NOT_EXIST, -101, "", true)                            \
-    M(OLAP_ERR_FILE_NOT_EXIST, -102, "", true)                           \
-    M(OLAP_ERR_CREATE_FILE_ERROR, -103, "", true)                        \
-    M(OLAP_ERR_MALLOC_ERROR, -104, "", true)                             \
-    M(OLAP_ERR_STL_ERROR, -105, "", true)                                \
-    M(OLAP_ERR_IO_ERROR, -106, "", true)                                 \
-    M(OLAP_ERR_MUTEX_ERROR, -107, "", true)                              \
-    M(OLAP_ERR_PTHREAD_ERROR, -108, "", true)                            \
-    M(OLAP_ERR_NETWORK_ERROR, -109, "", true)                            \
-    M(OLAP_ERR_UB_FUNC_ERROR, -110, "", true)                            \
-    M(OLAP_ERR_COMPRESS_ERROR, -111, "", true)                           \
-    M(OLAP_ERR_DECOMPRESS_ERROR, -112, "", true)                         \
-    M(OLAP_ERR_UNKNOWN_COMPRESSION_TYPE, -113, "", true)                 \
-    M(OLAP_ERR_MMAP_ERROR, -114, "", true)                               \
-    M(OLAP_ERR_RWLOCK_ERROR, -115, "", true)                             \
-    M(OLAP_ERR_READ_UNENOUGH, -116, "", true)                            \
-    M(OLAP_ERR_CANNOT_CREATE_DIR, -117, "", true)                        \
-    M(OLAP_ERR_UB_NETWORK_ERROR, -118, "", true)                         \
-    M(OLAP_ERR_FILE_FORMAT_ERROR, -119, "", true)                        \
-    M(OLAP_ERR_EVAL_CONJUNCTS_ERROR, -120, "", true)                     \
-    M(OLAP_ERR_COPY_FILE_ERROR, -121, "", true)                          \
-    M(OLAP_ERR_FILE_ALREADY_EXIST, -122, "", true)                       \
-    M(OLAP_ERR_NOT_INITED, -200, "", true)                               \
-    M(OLAP_ERR_FUNC_NOT_IMPLEMENTED, -201, "", true)                     \
-    M(OLAP_ERR_CALL_SEQUENCE_ERROR, -202, "", true)                      \
-    M(OLAP_ERR_INPUT_PARAMETER_ERROR, -203, "", true)                    \
-    M(OLAP_ERR_BUFFER_OVERFLOW, -204, "", true)                          \
-    M(OLAP_ERR_CONFIG_ERROR, -205, "", true)                             \
-    M(OLAP_ERR_INIT_FAILED, -206, "", true)                              \
-    M(OLAP_ERR_INVALID_SCHEMA, -207, "", true)                           \
-    M(OLAP_ERR_CHECKSUM_ERROR, -208, "", true)                           \
-    M(OLAP_ERR_SIGNATURE_ERROR, -209, "", true)                          \
-    M(OLAP_ERR_CATCH_EXCEPTION, -210, "", true)                          \
-    M(OLAP_ERR_PARSE_PROTOBUF_ERROR, -211, "", true)                     \
-    M(OLAP_ERR_SERIALIZE_PROTOBUF_ERROR, -212, "", true)                 \
-    M(OLAP_ERR_WRITE_PROTOBUF_ERROR, -213, "", true)                     \
-    M(OLAP_ERR_VERSION_NOT_EXIST, -214, "", true)                        \
-    M(OLAP_ERR_TABLE_NOT_FOUND, -215, "", true)                          \
-    M(OLAP_ERR_TRY_LOCK_FAILED, -216, "", true)                          \
-    M(OLAP_ERR_OUT_OF_BOUND, -218, "", true)                             \
-    M(OLAP_ERR_UNDERFLOW, -219, "", true)                                \
-    M(OLAP_ERR_FILE_DATA_ERROR, -220, "", true)                          \
-    M(OLAP_ERR_TEST_FILE_ERROR, -221, "", true)                          \
-    M(OLAP_ERR_INVALID_ROOT_PATH, -222, "", true)                        \
-    M(OLAP_ERR_NO_AVAILABLE_ROOT_PATH, -223, "", true)                   \
-    M(OLAP_ERR_CHECK_LINES_ERROR, -224, "", true)                        \
-    M(OLAP_ERR_INVALID_CLUSTER_INFO, -225, "", true)                     \
-    M(OLAP_ERR_TRANSACTION_NOT_EXIST, -226, "", true)                    \
-    M(OLAP_ERR_DISK_FAILURE, -227, "", true)                             \
-    M(OLAP_ERR_TRANSACTION_ALREADY_COMMITTED, -228, "", true)            \
-    M(OLAP_ERR_TRANSACTION_ALREADY_VISIBLE, -229, "", true)              \
-    M(OLAP_ERR_VERSION_ALREADY_MERGED, -230, "", true)                   \
-    M(OLAP_ERR_LZO_DISABLED, -231, "", true)                             \
-    M(OLAP_ERR_DISK_REACH_CAPACITY_LIMIT, -232, "", true)                \
-    M(OLAP_ERR_TOO_MANY_TRANSACTIONS, -233, "", true)                    \
-    M(OLAP_ERR_INVALID_SNAPSHOT_VERSION, -234, "", true)                 \
-    M(OLAP_ERR_TOO_MANY_VERSION, -235, "", true)                         \
-    M(OLAP_ERR_NOT_INITIALIZED, -236, "", true)                          \
-    M(OLAP_ERR_ALREADY_CANCELLED, -237, "", true)                        \
-    M(OLAP_ERR_TOO_MANY_SEGMENTS, -238, "", true)                        \
-    M(OLAP_ERR_CE_CMD_PARAMS_ERROR, -300, "", true)                      \
-    M(OLAP_ERR_CE_BUFFER_TOO_SMALL, -301, "", true)                      \
-    M(OLAP_ERR_CE_CMD_NOT_VALID, -302, "", true)                         \
-    M(OLAP_ERR_CE_LOAD_TABLE_ERROR, -303, "", true)                      \
-    M(OLAP_ERR_CE_NOT_FINISHED, -304, "", true)                          \
-    M(OLAP_ERR_CE_TABLET_ID_EXIST, -305, "", true)                       \
-    M(OLAP_ERR_CE_TRY_CE_LOCK_ERROR, -306, "", false)                    \
-    M(OLAP_ERR_TABLE_VERSION_DUPLICATE_ERROR, -400, "", true)            \
-    M(OLAP_ERR_TABLE_VERSION_INDEX_MISMATCH_ERROR, -401, "", true)       \
-    M(OLAP_ERR_TABLE_INDEX_VALIDATE_ERROR, -402, "", true)               \
-    M(OLAP_ERR_TABLE_INDEX_FIND_ERROR, -403, "", true)                   \
-    M(OLAP_ERR_TABLE_CREATE_FROM_HEADER_ERROR, -404, "", true)           \
-    M(OLAP_ERR_TABLE_CREATE_META_ERROR, -405, "", true)                  \
-    M(OLAP_ERR_TABLE_ALREADY_DELETED_ERROR, -406, "", false)             \
-    M(OLAP_ERR_ENGINE_INSERT_EXISTS_TABLE, -500, "", true)               \
-    M(OLAP_ERR_ENGINE_DROP_NOEXISTS_TABLE, -501, "", true)               \
-    M(OLAP_ERR_ENGINE_LOAD_INDEX_TABLE_ERROR, -502, "", true)            \
-    M(OLAP_ERR_TABLE_INSERT_DUPLICATION_ERROR, -503, "", true)           \
-    M(OLAP_ERR_DELETE_VERSION_ERROR, -504, "", true)                     \
-    M(OLAP_ERR_GC_SCAN_PATH_ERROR, -505, "", true)                       \
-    M(OLAP_ERR_ENGINE_INSERT_OLD_TABLET, -506, "", true)                 \
-    M(OLAP_ERR_FETCH_OTHER_ERROR, -600, "", true)                        \
-    M(OLAP_ERR_FETCH_TABLE_NOT_EXIST, -601, "", true)                    \
-    M(OLAP_ERR_FETCH_VERSION_ERROR, -602, "", true)                      \
-    M(OLAP_ERR_FETCH_SCHEMA_ERROR, -603, "", true)                       \
-    M(OLAP_ERR_FETCH_COMPRESSION_ERROR, -604, "", true)                  \
-    M(OLAP_ERR_FETCH_CONTEXT_NOT_EXIST, -605, "", true)                  \
-    M(OLAP_ERR_FETCH_GET_READER_PARAMS_ERR, -606, "", true)              \
-    M(OLAP_ERR_FETCH_SAVE_SESSION_ERR, -607, "", true)                   \
-    M(OLAP_ERR_FETCH_MEMORY_EXCEEDED, -608, "", true)                    \
-    M(OLAP_ERR_READER_IS_UNINITIALIZED, -700, "", true)                  \
-    M(OLAP_ERR_READER_GET_ITERATOR_ERROR, -701, "", true)                \
-    M(OLAP_ERR_CAPTURE_ROWSET_READER_ERROR, -702, "", true)              \
-    M(OLAP_ERR_READER_READING_ERROR, -703, "", true)                     \
-    M(OLAP_ERR_READER_INITIALIZE_ERROR, -704, "", true)                  \
-    M(OLAP_ERR_BE_VERSION_NOT_MATCH, -800, "", true)                     \
-    M(OLAP_ERR_BE_REPLACE_VERSIONS_ERROR, -801, "", true)                \
-    M(OLAP_ERR_BE_MERGE_ERROR, -802, "", true)                           \
-    M(OLAP_ERR_CAPTURE_ROWSET_ERROR, -804, "", true)                     \
-    M(OLAP_ERR_BE_SAVE_HEADER_ERROR, -805, "", true)                     \
-    M(OLAP_ERR_BE_INIT_OLAP_DATA, -806, "", true)                        \
-    M(OLAP_ERR_BE_TRY_OBTAIN_VERSION_LOCKS, -807, "", true)              \
-    M(OLAP_ERR_BE_NO_SUITABLE_VERSION, -808, "", false)                  \
-    M(OLAP_ERR_BE_TRY_BE_LOCK_ERROR, -809, "", true)                     \
-    M(OLAP_ERR_BE_INVALID_NEED_MERGED_VERSIONS, -810, "", true)          \
-    M(OLAP_ERR_BE_ERROR_DELETE_ACTION, -811, "", true)                   \
-    M(OLAP_ERR_BE_SEGMENTS_OVERLAPPING, -812, "", true)                  \
-    M(OLAP_ERR_BE_CLONE_OCCURRED, -813, "", true)                        \
-    M(OLAP_ERR_PUSH_INIT_ERROR, -900, "", true)                          \
-    M(OLAP_ERR_PUSH_DELTA_FILE_EOF, -901, "", false)                     \
-    M(OLAP_ERR_PUSH_VERSION_INCORRECT, -902, "", true)                   \
-    M(OLAP_ERR_PUSH_SCHEMA_MISMATCH, -903, "", true)                     \
-    M(OLAP_ERR_PUSH_CHECKSUM_ERROR, -904, "", true)                      \
-    M(OLAP_ERR_PUSH_ACQUIRE_DATASOURCE_ERROR, -905, "", true)            \
-    M(OLAP_ERR_PUSH_CREAT_CUMULATIVE_ERROR, -906, "", true)              \
-    M(OLAP_ERR_PUSH_BUILD_DELTA_ERROR, -907, "", true)                   \
-    M(OLAP_ERR_PUSH_VERSION_ALREADY_EXIST, -908, "", true)               \
-    M(OLAP_ERR_PUSH_TABLE_NOT_EXIST, -909, "", true)                     \
-    M(OLAP_ERR_PUSH_INPUT_DATA_ERROR, -910, "", true)                    \
-    M(OLAP_ERR_PUSH_TRANSACTION_ALREADY_EXIST, -911, "", true)           \
-    M(OLAP_ERR_PUSH_BATCH_PROCESS_REMOVED, -912, "", true)               \
-    M(OLAP_ERR_PUSH_COMMIT_ROWSET, -913, "", true)                       \
-    M(OLAP_ERR_PUSH_ROWSET_NOT_FOUND, -914, "", true)                    \
-    M(OLAP_ERR_INDEX_LOAD_ERROR, -1000, "", true)                        \
-    M(OLAP_ERR_INDEX_EOF, -1001, "", false)                              \
-    M(OLAP_ERR_INDEX_CHECKSUM_ERROR, -1002, "", true)                    \
-    M(OLAP_ERR_INDEX_DELTA_PRUNING, -1003, "", true)                     \
-    M(OLAP_ERR_DATA_ROW_BLOCK_ERROR, -1100, "", true)                    \
-    M(OLAP_ERR_DATA_FILE_TYPE_ERROR, -1101, "", true)                    \
-    M(OLAP_ERR_DATA_EOF, -1102, "", false)                               \
-    M(OLAP_ERR_WRITER_INDEX_WRITE_ERROR, -1200, "", true)                \
-    M(OLAP_ERR_WRITER_DATA_WRITE_ERROR, -1201, "", true)                 \
-    M(OLAP_ERR_WRITER_ROW_BLOCK_ERROR, -1202, "", true)                  \
-    M(OLAP_ERR_WRITER_SEGMENT_NOT_FINALIZED, -1203, "", true)            \
-    M(OLAP_ERR_ROWBLOCK_DECOMPRESS_ERROR, -1300, "", true)               \
-    M(OLAP_ERR_ROWBLOCK_FIND_ROW_EXCEPTION, -1301, "", true)             \
-    M(OLAP_ERR_ROWBLOCK_READ_INFO_ERROR, -1302, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_VERSION, -1400, "", true)                      \
-    M(OLAP_ERR_HEADER_DELETE_VERSION, -1401, "", true)                   \
-    M(OLAP_ERR_HEADER_ADD_PENDING_DELTA, -1402, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_INCREMENTAL_VERSION, -1403, "", true)          \
-    M(OLAP_ERR_HEADER_INVALID_FLAG, -1404, "", true)                     \
-    M(OLAP_ERR_HEADER_PUT, -1405, "", true)                              \
-    M(OLAP_ERR_HEADER_DELETE, -1406, "", true)                           \
-    M(OLAP_ERR_HEADER_GET, -1407, "", true)                              \
-    M(OLAP_ERR_HEADER_LOAD_INVALID_KEY, -1408, "", true)                 \
-    M(OLAP_ERR_HEADER_FLAG_PUT, -1409, "", true)                         \
-    M(OLAP_ERR_HEADER_LOAD_JSON_HEADER, -1410, "", true)                 \
-    M(OLAP_ERR_HEADER_INIT_FAILED, -1411, "", true)                      \
-    M(OLAP_ERR_HEADER_PB_PARSE_FAILED, -1412, "", true)                  \
-    M(OLAP_ERR_HEADER_HAS_PENDING_DATA, -1413, "", false)                \
-    M(OLAP_ERR_SCHEMA_SCHEMA_INVALID, -1500, "", false)                  \
-    M(OLAP_ERR_SCHEMA_SCHEMA_FIELD_INVALID, -1501, "", true)             \
-    M(OLAP_ERR_ALTER_MULTI_TABLE_ERR, -1600, "", true)                   \
-    M(OLAP_ERR_ALTER_DELTA_DOES_NOT_EXISTS, -1601, "", true)             \
-    M(OLAP_ERR_ALTER_STATUS_ERR, -1602, "", true)                        \
-    M(OLAP_ERR_PREVIOUS_SCHEMA_CHANGE_NOT_FINISHED, -1603, "", true)     \
-    M(OLAP_ERR_SCHEMA_CHANGE_INFO_INVALID, -1604, "", true)              \
-    M(OLAP_ERR_QUERY_SPLIT_KEY_ERR, -1605, "", true)                     \
-    M(OLAP_ERR_DATA_QUALITY_ERR, -1606, "", true)                        \
-    M(OLAP_ERR_COLUMN_DATA_LOAD_BLOCK, -1700, "", true)                  \
-    M(OLAP_ERR_COLUMN_DATA_RECORD_INDEX, -1701, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_MAKE_FILE_HEADER, -1702, "", true)            \
-    M(OLAP_ERR_COLUMN_DATA_READ_VAR_INT, -1703, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_PATCH_LIST_NUM, -1704, "", true)              \
-    M(OLAP_ERR_COLUMN_STREAM_EOF, -1705, "", false)                      \
-    M(OLAP_ERR_COLUMN_READ_STREAM, -1706, "", true)                      \
-    M(OLAP_ERR_COLUMN_STREAM_NOT_EXIST, -1716, "", true)                 \
-    M(OLAP_ERR_COLUMN_VALUE_NULL, -1717, "", true)                       \
-    M(OLAP_ERR_COLUMN_SEEK_ERROR, -1719, "", true)                       \
-    M(OLAP_ERR_DELETE_INVALID_CONDITION, -1900, "", true)                \
-    M(OLAP_ERR_DELETE_UPDATE_HEADER_FAILED, -1901, "", true)             \
-    M(OLAP_ERR_DELETE_SAVE_HEADER_FAILED, -1902, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_PARAMETERS, -1903, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_VERSION, -1904, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_NO_SUITABLE_VERSION, -2000, "", false)         \
-    M(OLAP_ERR_CUMULATIVE_REPEAT_INIT, -2001, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_INVALID_PARAMETERS, -2002, "", true)           \
-    M(OLAP_ERR_CUMULATIVE_FAILED_ACQUIRE_DATA_SOURCE, -2003, "", true)   \
-    M(OLAP_ERR_CUMULATIVE_INVALID_NEED_MERGED_VERSIONS, -2004, "", true) \
-    M(OLAP_ERR_CUMULATIVE_ERROR_DELETE_ACTION, -2005, "", true)          \
-    M(OLAP_ERR_CUMULATIVE_MISS_VERSION, -2006, "", true)                 \
-    M(OLAP_ERR_CUMULATIVE_CLONE_OCCURRED, -2007, "", true)               \
-    M(OLAP_ERR_META_INVALID_ARGUMENT, -3000, "", true)                   \
-    M(OLAP_ERR_META_OPEN_DB, -3001, "", true)                            \
-    M(OLAP_ERR_META_KEY_NOT_FOUND, -3002, "", true)                      \
-    M(OLAP_ERR_META_GET, -3003, "", true)                                \
-    M(OLAP_ERR_META_PUT, -3004, "", true)                                \
-    M(OLAP_ERR_META_ITERATOR, -3005, "", true)                           \
-    M(OLAP_ERR_META_DELETE, -3006, "", true)                             \
-    M(OLAP_ERR_META_ALREADY_EXIST, -3007, "", true)                      \
-    M(OLAP_ERR_ROWSET_WRITER_INIT, -3100, "", true)                      \
-    M(OLAP_ERR_ROWSET_SAVE_FAILED, -3101, "", true)                      \
-    M(OLAP_ERR_ROWSET_GENERATE_ID_FAILED, -3102, "", true)               \
-    M(OLAP_ERR_ROWSET_DELETE_FILE_FAILED, -3103, "", true)               \
-    M(OLAP_ERR_ROWSET_BUILDER_INIT, -3104, "", true)                     \
-    M(OLAP_ERR_ROWSET_TYPE_NOT_FOUND, -3105, "", true)                   \
-    M(OLAP_ERR_ROWSET_ALREADY_EXIST, -3106, "", true)                    \
-    M(OLAP_ERR_ROWSET_CREATE_READER, -3107, "", true)                    \
-    M(OLAP_ERR_ROWSET_INVALID, -3108, "", true)                          \
-    M(OLAP_ERR_ROWSET_LOAD_FAILED, -3109, "", true)                      \
-    M(OLAP_ERR_ROWSET_READER_INIT, -3110, "", true)                      \
-    M(OLAP_ERR_ROWSET_READ_FAILED, -3111, "", true)                      \
-    M(OLAP_ERR_ROWSET_INVALID_STATE_TRANSITION, -3112, "", true)         \
-    M(OLAP_ERR_STRING_OVERFLOW_IN_VEC_ENGINE, -3113, "", true)           \
-    M(OLAP_ERR_ROWSET_ADD_MIGRATION_V2, -3114, "", true)                 \
-    M(OLAP_ERR_PUBLISH_VERSION_NOT_CONTINUOUS, -3115, "", false)         \
-    M(OLAP_ERR_ROWSET_RENAME_FILE_FAILED, -3116, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_READER, -3117, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_WRITER, -3118, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_FAILED, -3119, "", false)
-
-enum ErrorCode {
-#define M(NAME, ERRORCODE, DESC, STACKTRACEENABLED) NAME = ERRORCODE,
-    APPLY_FOR_ERROR_CODES(M)
-#undef M
-};
+namespace ErrorCode {
+#define E(name, code) static constexpr int name = code
+E(OK, 0);
+#define TStatusError(name) E(name, TStatusCode::name)
+// Errors defined in TStatus
+TStatusError(PUBLISH_TIMEOUT);
+TStatusError(MEM_ALLOC_FAILED);
+TStatusError(BUFFER_ALLOCATION_FAILED);
+TStatusError(INVALID_ARGUMENT);
+TStatusError(MINIMUM_RESERVATION_UNAVAILABLE);
+TStatusError(CORRUPTION);
+TStatusError(IO_ERROR);
+TStatusError(NOT_FOUND);
+TStatusError(ALREADY_EXIST);
+TStatusError(NOT_IMPLEMENTED_ERROR);
+TStatusError(END_OF_FILE);
+TStatusError(INTERNAL_ERROR);
+TStatusError(RUNTIME_ERROR);
+TStatusError(CANCELLED);
+TStatusError(MEM_LIMIT_EXCEEDED);
+TStatusError(THRIFT_RPC_ERROR);
+TStatusError(TIMEOUT);
+TStatusError(TOO_MANY_TASKS);
+TStatusError(SERVICE_UNAVAILABLE);
+TStatusError(UNINITIALIZED);
+TStatusError(ABORTED);
+TStatusError(DATA_QUALITY_ERROR);
+TStatusError(LABEL_ALREADY_EXISTS);
+#undef TStatusError
+// BE internal errors
+E(OS_ERROR, -100);
+E(DIR_NOT_EXIST, -101);
+E(FILE_NOT_EXIST, -102);
+E(CREATE_FILE_ERROR, -103);
+E(STL_ERROR, -105);

Review Comment:
   warning: unused variable 'STL_ERROR' [clang-diagnostic-unused-const-variable]
   ```cpp
   E(STL_ERROR, -105);
     ^
   ```
   



##########
be/src/common/status.h:
##########
@@ -12,249 +12,283 @@
 #include <string_view>
 
 #include "common/compiler_util.h"
-#include "common/logging.h"
 #include "gen_cpp/Status_types.h" // for TStatus
+#ifdef ENABLE_STACKTRACE
+#include "util/stack_util.h"
+#endif
 
 namespace doris {
 
 class PStatus;
 
-// ErrorName, ErrorCode, String Description, Should print stacktrace
-#define APPLY_FOR_ERROR_CODES(M)                                         \
-    M(OLAP_SUCCESS, 0, "", false)                                        \
-    M(OLAP_ERR_OTHER_ERROR, -1, "", true)                                \
-    M(OLAP_REQUEST_FAILED, -2, "", false)                                \
-    M(OLAP_ERR_OS_ERROR, -100, "", true)                                 \
-    M(OLAP_ERR_DIR_NOT_EXIST, -101, "", true)                            \
-    M(OLAP_ERR_FILE_NOT_EXIST, -102, "", true)                           \
-    M(OLAP_ERR_CREATE_FILE_ERROR, -103, "", true)                        \
-    M(OLAP_ERR_MALLOC_ERROR, -104, "", true)                             \
-    M(OLAP_ERR_STL_ERROR, -105, "", true)                                \
-    M(OLAP_ERR_IO_ERROR, -106, "", true)                                 \
-    M(OLAP_ERR_MUTEX_ERROR, -107, "", true)                              \
-    M(OLAP_ERR_PTHREAD_ERROR, -108, "", true)                            \
-    M(OLAP_ERR_NETWORK_ERROR, -109, "", true)                            \
-    M(OLAP_ERR_UB_FUNC_ERROR, -110, "", true)                            \
-    M(OLAP_ERR_COMPRESS_ERROR, -111, "", true)                           \
-    M(OLAP_ERR_DECOMPRESS_ERROR, -112, "", true)                         \
-    M(OLAP_ERR_UNKNOWN_COMPRESSION_TYPE, -113, "", true)                 \
-    M(OLAP_ERR_MMAP_ERROR, -114, "", true)                               \
-    M(OLAP_ERR_RWLOCK_ERROR, -115, "", true)                             \
-    M(OLAP_ERR_READ_UNENOUGH, -116, "", true)                            \
-    M(OLAP_ERR_CANNOT_CREATE_DIR, -117, "", true)                        \
-    M(OLAP_ERR_UB_NETWORK_ERROR, -118, "", true)                         \
-    M(OLAP_ERR_FILE_FORMAT_ERROR, -119, "", true)                        \
-    M(OLAP_ERR_EVAL_CONJUNCTS_ERROR, -120, "", true)                     \
-    M(OLAP_ERR_COPY_FILE_ERROR, -121, "", true)                          \
-    M(OLAP_ERR_FILE_ALREADY_EXIST, -122, "", true)                       \
-    M(OLAP_ERR_NOT_INITED, -200, "", true)                               \
-    M(OLAP_ERR_FUNC_NOT_IMPLEMENTED, -201, "", true)                     \
-    M(OLAP_ERR_CALL_SEQUENCE_ERROR, -202, "", true)                      \
-    M(OLAP_ERR_INPUT_PARAMETER_ERROR, -203, "", true)                    \
-    M(OLAP_ERR_BUFFER_OVERFLOW, -204, "", true)                          \
-    M(OLAP_ERR_CONFIG_ERROR, -205, "", true)                             \
-    M(OLAP_ERR_INIT_FAILED, -206, "", true)                              \
-    M(OLAP_ERR_INVALID_SCHEMA, -207, "", true)                           \
-    M(OLAP_ERR_CHECKSUM_ERROR, -208, "", true)                           \
-    M(OLAP_ERR_SIGNATURE_ERROR, -209, "", true)                          \
-    M(OLAP_ERR_CATCH_EXCEPTION, -210, "", true)                          \
-    M(OLAP_ERR_PARSE_PROTOBUF_ERROR, -211, "", true)                     \
-    M(OLAP_ERR_SERIALIZE_PROTOBUF_ERROR, -212, "", true)                 \
-    M(OLAP_ERR_WRITE_PROTOBUF_ERROR, -213, "", true)                     \
-    M(OLAP_ERR_VERSION_NOT_EXIST, -214, "", true)                        \
-    M(OLAP_ERR_TABLE_NOT_FOUND, -215, "", true)                          \
-    M(OLAP_ERR_TRY_LOCK_FAILED, -216, "", true)                          \
-    M(OLAP_ERR_OUT_OF_BOUND, -218, "", true)                             \
-    M(OLAP_ERR_UNDERFLOW, -219, "", true)                                \
-    M(OLAP_ERR_FILE_DATA_ERROR, -220, "", true)                          \
-    M(OLAP_ERR_TEST_FILE_ERROR, -221, "", true)                          \
-    M(OLAP_ERR_INVALID_ROOT_PATH, -222, "", true)                        \
-    M(OLAP_ERR_NO_AVAILABLE_ROOT_PATH, -223, "", true)                   \
-    M(OLAP_ERR_CHECK_LINES_ERROR, -224, "", true)                        \
-    M(OLAP_ERR_INVALID_CLUSTER_INFO, -225, "", true)                     \
-    M(OLAP_ERR_TRANSACTION_NOT_EXIST, -226, "", true)                    \
-    M(OLAP_ERR_DISK_FAILURE, -227, "", true)                             \
-    M(OLAP_ERR_TRANSACTION_ALREADY_COMMITTED, -228, "", true)            \
-    M(OLAP_ERR_TRANSACTION_ALREADY_VISIBLE, -229, "", true)              \
-    M(OLAP_ERR_VERSION_ALREADY_MERGED, -230, "", true)                   \
-    M(OLAP_ERR_LZO_DISABLED, -231, "", true)                             \
-    M(OLAP_ERR_DISK_REACH_CAPACITY_LIMIT, -232, "", true)                \
-    M(OLAP_ERR_TOO_MANY_TRANSACTIONS, -233, "", true)                    \
-    M(OLAP_ERR_INVALID_SNAPSHOT_VERSION, -234, "", true)                 \
-    M(OLAP_ERR_TOO_MANY_VERSION, -235, "", true)                         \
-    M(OLAP_ERR_NOT_INITIALIZED, -236, "", true)                          \
-    M(OLAP_ERR_ALREADY_CANCELLED, -237, "", true)                        \
-    M(OLAP_ERR_TOO_MANY_SEGMENTS, -238, "", true)                        \
-    M(OLAP_ERR_CE_CMD_PARAMS_ERROR, -300, "", true)                      \
-    M(OLAP_ERR_CE_BUFFER_TOO_SMALL, -301, "", true)                      \
-    M(OLAP_ERR_CE_CMD_NOT_VALID, -302, "", true)                         \
-    M(OLAP_ERR_CE_LOAD_TABLE_ERROR, -303, "", true)                      \
-    M(OLAP_ERR_CE_NOT_FINISHED, -304, "", true)                          \
-    M(OLAP_ERR_CE_TABLET_ID_EXIST, -305, "", true)                       \
-    M(OLAP_ERR_CE_TRY_CE_LOCK_ERROR, -306, "", false)                    \
-    M(OLAP_ERR_TABLE_VERSION_DUPLICATE_ERROR, -400, "", true)            \
-    M(OLAP_ERR_TABLE_VERSION_INDEX_MISMATCH_ERROR, -401, "", true)       \
-    M(OLAP_ERR_TABLE_INDEX_VALIDATE_ERROR, -402, "", true)               \
-    M(OLAP_ERR_TABLE_INDEX_FIND_ERROR, -403, "", true)                   \
-    M(OLAP_ERR_TABLE_CREATE_FROM_HEADER_ERROR, -404, "", true)           \
-    M(OLAP_ERR_TABLE_CREATE_META_ERROR, -405, "", true)                  \
-    M(OLAP_ERR_TABLE_ALREADY_DELETED_ERROR, -406, "", false)             \
-    M(OLAP_ERR_ENGINE_INSERT_EXISTS_TABLE, -500, "", true)               \
-    M(OLAP_ERR_ENGINE_DROP_NOEXISTS_TABLE, -501, "", true)               \
-    M(OLAP_ERR_ENGINE_LOAD_INDEX_TABLE_ERROR, -502, "", true)            \
-    M(OLAP_ERR_TABLE_INSERT_DUPLICATION_ERROR, -503, "", true)           \
-    M(OLAP_ERR_DELETE_VERSION_ERROR, -504, "", true)                     \
-    M(OLAP_ERR_GC_SCAN_PATH_ERROR, -505, "", true)                       \
-    M(OLAP_ERR_ENGINE_INSERT_OLD_TABLET, -506, "", true)                 \
-    M(OLAP_ERR_FETCH_OTHER_ERROR, -600, "", true)                        \
-    M(OLAP_ERR_FETCH_TABLE_NOT_EXIST, -601, "", true)                    \
-    M(OLAP_ERR_FETCH_VERSION_ERROR, -602, "", true)                      \
-    M(OLAP_ERR_FETCH_SCHEMA_ERROR, -603, "", true)                       \
-    M(OLAP_ERR_FETCH_COMPRESSION_ERROR, -604, "", true)                  \
-    M(OLAP_ERR_FETCH_CONTEXT_NOT_EXIST, -605, "", true)                  \
-    M(OLAP_ERR_FETCH_GET_READER_PARAMS_ERR, -606, "", true)              \
-    M(OLAP_ERR_FETCH_SAVE_SESSION_ERR, -607, "", true)                   \
-    M(OLAP_ERR_FETCH_MEMORY_EXCEEDED, -608, "", true)                    \
-    M(OLAP_ERR_READER_IS_UNINITIALIZED, -700, "", true)                  \
-    M(OLAP_ERR_READER_GET_ITERATOR_ERROR, -701, "", true)                \
-    M(OLAP_ERR_CAPTURE_ROWSET_READER_ERROR, -702, "", true)              \
-    M(OLAP_ERR_READER_READING_ERROR, -703, "", true)                     \
-    M(OLAP_ERR_READER_INITIALIZE_ERROR, -704, "", true)                  \
-    M(OLAP_ERR_BE_VERSION_NOT_MATCH, -800, "", true)                     \
-    M(OLAP_ERR_BE_REPLACE_VERSIONS_ERROR, -801, "", true)                \
-    M(OLAP_ERR_BE_MERGE_ERROR, -802, "", true)                           \
-    M(OLAP_ERR_CAPTURE_ROWSET_ERROR, -804, "", true)                     \
-    M(OLAP_ERR_BE_SAVE_HEADER_ERROR, -805, "", true)                     \
-    M(OLAP_ERR_BE_INIT_OLAP_DATA, -806, "", true)                        \
-    M(OLAP_ERR_BE_TRY_OBTAIN_VERSION_LOCKS, -807, "", true)              \
-    M(OLAP_ERR_BE_NO_SUITABLE_VERSION, -808, "", false)                  \
-    M(OLAP_ERR_BE_TRY_BE_LOCK_ERROR, -809, "", true)                     \
-    M(OLAP_ERR_BE_INVALID_NEED_MERGED_VERSIONS, -810, "", true)          \
-    M(OLAP_ERR_BE_ERROR_DELETE_ACTION, -811, "", true)                   \
-    M(OLAP_ERR_BE_SEGMENTS_OVERLAPPING, -812, "", true)                  \
-    M(OLAP_ERR_BE_CLONE_OCCURRED, -813, "", true)                        \
-    M(OLAP_ERR_PUSH_INIT_ERROR, -900, "", true)                          \
-    M(OLAP_ERR_PUSH_DELTA_FILE_EOF, -901, "", false)                     \
-    M(OLAP_ERR_PUSH_VERSION_INCORRECT, -902, "", true)                   \
-    M(OLAP_ERR_PUSH_SCHEMA_MISMATCH, -903, "", true)                     \
-    M(OLAP_ERR_PUSH_CHECKSUM_ERROR, -904, "", true)                      \
-    M(OLAP_ERR_PUSH_ACQUIRE_DATASOURCE_ERROR, -905, "", true)            \
-    M(OLAP_ERR_PUSH_CREAT_CUMULATIVE_ERROR, -906, "", true)              \
-    M(OLAP_ERR_PUSH_BUILD_DELTA_ERROR, -907, "", true)                   \
-    M(OLAP_ERR_PUSH_VERSION_ALREADY_EXIST, -908, "", true)               \
-    M(OLAP_ERR_PUSH_TABLE_NOT_EXIST, -909, "", true)                     \
-    M(OLAP_ERR_PUSH_INPUT_DATA_ERROR, -910, "", true)                    \
-    M(OLAP_ERR_PUSH_TRANSACTION_ALREADY_EXIST, -911, "", true)           \
-    M(OLAP_ERR_PUSH_BATCH_PROCESS_REMOVED, -912, "", true)               \
-    M(OLAP_ERR_PUSH_COMMIT_ROWSET, -913, "", true)                       \
-    M(OLAP_ERR_PUSH_ROWSET_NOT_FOUND, -914, "", true)                    \
-    M(OLAP_ERR_INDEX_LOAD_ERROR, -1000, "", true)                        \
-    M(OLAP_ERR_INDEX_EOF, -1001, "", false)                              \
-    M(OLAP_ERR_INDEX_CHECKSUM_ERROR, -1002, "", true)                    \
-    M(OLAP_ERR_INDEX_DELTA_PRUNING, -1003, "", true)                     \
-    M(OLAP_ERR_DATA_ROW_BLOCK_ERROR, -1100, "", true)                    \
-    M(OLAP_ERR_DATA_FILE_TYPE_ERROR, -1101, "", true)                    \
-    M(OLAP_ERR_DATA_EOF, -1102, "", false)                               \
-    M(OLAP_ERR_WRITER_INDEX_WRITE_ERROR, -1200, "", true)                \
-    M(OLAP_ERR_WRITER_DATA_WRITE_ERROR, -1201, "", true)                 \
-    M(OLAP_ERR_WRITER_ROW_BLOCK_ERROR, -1202, "", true)                  \
-    M(OLAP_ERR_WRITER_SEGMENT_NOT_FINALIZED, -1203, "", true)            \
-    M(OLAP_ERR_ROWBLOCK_DECOMPRESS_ERROR, -1300, "", true)               \
-    M(OLAP_ERR_ROWBLOCK_FIND_ROW_EXCEPTION, -1301, "", true)             \
-    M(OLAP_ERR_ROWBLOCK_READ_INFO_ERROR, -1302, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_VERSION, -1400, "", true)                      \
-    M(OLAP_ERR_HEADER_DELETE_VERSION, -1401, "", true)                   \
-    M(OLAP_ERR_HEADER_ADD_PENDING_DELTA, -1402, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_INCREMENTAL_VERSION, -1403, "", true)          \
-    M(OLAP_ERR_HEADER_INVALID_FLAG, -1404, "", true)                     \
-    M(OLAP_ERR_HEADER_PUT, -1405, "", true)                              \
-    M(OLAP_ERR_HEADER_DELETE, -1406, "", true)                           \
-    M(OLAP_ERR_HEADER_GET, -1407, "", true)                              \
-    M(OLAP_ERR_HEADER_LOAD_INVALID_KEY, -1408, "", true)                 \
-    M(OLAP_ERR_HEADER_FLAG_PUT, -1409, "", true)                         \
-    M(OLAP_ERR_HEADER_LOAD_JSON_HEADER, -1410, "", true)                 \
-    M(OLAP_ERR_HEADER_INIT_FAILED, -1411, "", true)                      \
-    M(OLAP_ERR_HEADER_PB_PARSE_FAILED, -1412, "", true)                  \
-    M(OLAP_ERR_HEADER_HAS_PENDING_DATA, -1413, "", false)                \
-    M(OLAP_ERR_SCHEMA_SCHEMA_INVALID, -1500, "", false)                  \
-    M(OLAP_ERR_SCHEMA_SCHEMA_FIELD_INVALID, -1501, "", true)             \
-    M(OLAP_ERR_ALTER_MULTI_TABLE_ERR, -1600, "", true)                   \
-    M(OLAP_ERR_ALTER_DELTA_DOES_NOT_EXISTS, -1601, "", true)             \
-    M(OLAP_ERR_ALTER_STATUS_ERR, -1602, "", true)                        \
-    M(OLAP_ERR_PREVIOUS_SCHEMA_CHANGE_NOT_FINISHED, -1603, "", true)     \
-    M(OLAP_ERR_SCHEMA_CHANGE_INFO_INVALID, -1604, "", true)              \
-    M(OLAP_ERR_QUERY_SPLIT_KEY_ERR, -1605, "", true)                     \
-    M(OLAP_ERR_DATA_QUALITY_ERR, -1606, "", true)                        \
-    M(OLAP_ERR_COLUMN_DATA_LOAD_BLOCK, -1700, "", true)                  \
-    M(OLAP_ERR_COLUMN_DATA_RECORD_INDEX, -1701, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_MAKE_FILE_HEADER, -1702, "", true)            \
-    M(OLAP_ERR_COLUMN_DATA_READ_VAR_INT, -1703, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_PATCH_LIST_NUM, -1704, "", true)              \
-    M(OLAP_ERR_COLUMN_STREAM_EOF, -1705, "", false)                      \
-    M(OLAP_ERR_COLUMN_READ_STREAM, -1706, "", true)                      \
-    M(OLAP_ERR_COLUMN_STREAM_NOT_EXIST, -1716, "", true)                 \
-    M(OLAP_ERR_COLUMN_VALUE_NULL, -1717, "", true)                       \
-    M(OLAP_ERR_COLUMN_SEEK_ERROR, -1719, "", true)                       \
-    M(OLAP_ERR_DELETE_INVALID_CONDITION, -1900, "", true)                \
-    M(OLAP_ERR_DELETE_UPDATE_HEADER_FAILED, -1901, "", true)             \
-    M(OLAP_ERR_DELETE_SAVE_HEADER_FAILED, -1902, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_PARAMETERS, -1903, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_VERSION, -1904, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_NO_SUITABLE_VERSION, -2000, "", false)         \
-    M(OLAP_ERR_CUMULATIVE_REPEAT_INIT, -2001, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_INVALID_PARAMETERS, -2002, "", true)           \
-    M(OLAP_ERR_CUMULATIVE_FAILED_ACQUIRE_DATA_SOURCE, -2003, "", true)   \
-    M(OLAP_ERR_CUMULATIVE_INVALID_NEED_MERGED_VERSIONS, -2004, "", true) \
-    M(OLAP_ERR_CUMULATIVE_ERROR_DELETE_ACTION, -2005, "", true)          \
-    M(OLAP_ERR_CUMULATIVE_MISS_VERSION, -2006, "", true)                 \
-    M(OLAP_ERR_CUMULATIVE_CLONE_OCCURRED, -2007, "", true)               \
-    M(OLAP_ERR_META_INVALID_ARGUMENT, -3000, "", true)                   \
-    M(OLAP_ERR_META_OPEN_DB, -3001, "", true)                            \
-    M(OLAP_ERR_META_KEY_NOT_FOUND, -3002, "", true)                      \
-    M(OLAP_ERR_META_GET, -3003, "", true)                                \
-    M(OLAP_ERR_META_PUT, -3004, "", true)                                \
-    M(OLAP_ERR_META_ITERATOR, -3005, "", true)                           \
-    M(OLAP_ERR_META_DELETE, -3006, "", true)                             \
-    M(OLAP_ERR_META_ALREADY_EXIST, -3007, "", true)                      \
-    M(OLAP_ERR_ROWSET_WRITER_INIT, -3100, "", true)                      \
-    M(OLAP_ERR_ROWSET_SAVE_FAILED, -3101, "", true)                      \
-    M(OLAP_ERR_ROWSET_GENERATE_ID_FAILED, -3102, "", true)               \
-    M(OLAP_ERR_ROWSET_DELETE_FILE_FAILED, -3103, "", true)               \
-    M(OLAP_ERR_ROWSET_BUILDER_INIT, -3104, "", true)                     \
-    M(OLAP_ERR_ROWSET_TYPE_NOT_FOUND, -3105, "", true)                   \
-    M(OLAP_ERR_ROWSET_ALREADY_EXIST, -3106, "", true)                    \
-    M(OLAP_ERR_ROWSET_CREATE_READER, -3107, "", true)                    \
-    M(OLAP_ERR_ROWSET_INVALID, -3108, "", true)                          \
-    M(OLAP_ERR_ROWSET_LOAD_FAILED, -3109, "", true)                      \
-    M(OLAP_ERR_ROWSET_READER_INIT, -3110, "", true)                      \
-    M(OLAP_ERR_ROWSET_READ_FAILED, -3111, "", true)                      \
-    M(OLAP_ERR_ROWSET_INVALID_STATE_TRANSITION, -3112, "", true)         \
-    M(OLAP_ERR_STRING_OVERFLOW_IN_VEC_ENGINE, -3113, "", true)           \
-    M(OLAP_ERR_ROWSET_ADD_MIGRATION_V2, -3114, "", true)                 \
-    M(OLAP_ERR_PUBLISH_VERSION_NOT_CONTINUOUS, -3115, "", false)         \
-    M(OLAP_ERR_ROWSET_RENAME_FILE_FAILED, -3116, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_READER, -3117, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_WRITER, -3118, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_FAILED, -3119, "", false)
-
-enum ErrorCode {
-#define M(NAME, ERRORCODE, DESC, STACKTRACEENABLED) NAME = ERRORCODE,
-    APPLY_FOR_ERROR_CODES(M)
-#undef M
-};
+namespace ErrorCode {
+#define E(name, code) static constexpr int name = code
+E(OK, 0);
+#define TStatusError(name) E(name, TStatusCode::name)
+// Errors defined in TStatus
+TStatusError(PUBLISH_TIMEOUT);
+TStatusError(MEM_ALLOC_FAILED);
+TStatusError(BUFFER_ALLOCATION_FAILED);
+TStatusError(INVALID_ARGUMENT);
+TStatusError(MINIMUM_RESERVATION_UNAVAILABLE);
+TStatusError(CORRUPTION);
+TStatusError(IO_ERROR);
+TStatusError(NOT_FOUND);
+TStatusError(ALREADY_EXIST);
+TStatusError(NOT_IMPLEMENTED_ERROR);
+TStatusError(END_OF_FILE);
+TStatusError(INTERNAL_ERROR);
+TStatusError(RUNTIME_ERROR);
+TStatusError(CANCELLED);
+TStatusError(MEM_LIMIT_EXCEEDED);
+TStatusError(THRIFT_RPC_ERROR);
+TStatusError(TIMEOUT);
+TStatusError(TOO_MANY_TASKS);
+TStatusError(SERVICE_UNAVAILABLE);
+TStatusError(UNINITIALIZED);
+TStatusError(ABORTED);
+TStatusError(DATA_QUALITY_ERROR);
+TStatusError(LABEL_ALREADY_EXISTS);
+#undef TStatusError
+// BE internal errors
+E(OS_ERROR, -100);
+E(DIR_NOT_EXIST, -101);
+E(FILE_NOT_EXIST, -102);
+E(CREATE_FILE_ERROR, -103);

Review Comment:
   warning: unused variable 'CREATE_FILE_ERROR' [clang-diagnostic-unused-const-variable]
   ```cpp
   E(CREATE_FILE_ERROR, -103);
     ^
   ```
   



##########
be/src/common/status.h:
##########
@@ -12,249 +12,283 @@
 #include <string_view>
 
 #include "common/compiler_util.h"
-#include "common/logging.h"
 #include "gen_cpp/Status_types.h" // for TStatus
+#ifdef ENABLE_STACKTRACE
+#include "util/stack_util.h"
+#endif
 
 namespace doris {
 
 class PStatus;
 
-// ErrorName, ErrorCode, String Description, Should print stacktrace
-#define APPLY_FOR_ERROR_CODES(M)                                         \
-    M(OLAP_SUCCESS, 0, "", false)                                        \
-    M(OLAP_ERR_OTHER_ERROR, -1, "", true)                                \
-    M(OLAP_REQUEST_FAILED, -2, "", false)                                \
-    M(OLAP_ERR_OS_ERROR, -100, "", true)                                 \
-    M(OLAP_ERR_DIR_NOT_EXIST, -101, "", true)                            \
-    M(OLAP_ERR_FILE_NOT_EXIST, -102, "", true)                           \
-    M(OLAP_ERR_CREATE_FILE_ERROR, -103, "", true)                        \
-    M(OLAP_ERR_MALLOC_ERROR, -104, "", true)                             \
-    M(OLAP_ERR_STL_ERROR, -105, "", true)                                \
-    M(OLAP_ERR_IO_ERROR, -106, "", true)                                 \
-    M(OLAP_ERR_MUTEX_ERROR, -107, "", true)                              \
-    M(OLAP_ERR_PTHREAD_ERROR, -108, "", true)                            \
-    M(OLAP_ERR_NETWORK_ERROR, -109, "", true)                            \
-    M(OLAP_ERR_UB_FUNC_ERROR, -110, "", true)                            \
-    M(OLAP_ERR_COMPRESS_ERROR, -111, "", true)                           \
-    M(OLAP_ERR_DECOMPRESS_ERROR, -112, "", true)                         \
-    M(OLAP_ERR_UNKNOWN_COMPRESSION_TYPE, -113, "", true)                 \
-    M(OLAP_ERR_MMAP_ERROR, -114, "", true)                               \
-    M(OLAP_ERR_RWLOCK_ERROR, -115, "", true)                             \
-    M(OLAP_ERR_READ_UNENOUGH, -116, "", true)                            \
-    M(OLAP_ERR_CANNOT_CREATE_DIR, -117, "", true)                        \
-    M(OLAP_ERR_UB_NETWORK_ERROR, -118, "", true)                         \
-    M(OLAP_ERR_FILE_FORMAT_ERROR, -119, "", true)                        \
-    M(OLAP_ERR_EVAL_CONJUNCTS_ERROR, -120, "", true)                     \
-    M(OLAP_ERR_COPY_FILE_ERROR, -121, "", true)                          \
-    M(OLAP_ERR_FILE_ALREADY_EXIST, -122, "", true)                       \
-    M(OLAP_ERR_NOT_INITED, -200, "", true)                               \
-    M(OLAP_ERR_FUNC_NOT_IMPLEMENTED, -201, "", true)                     \
-    M(OLAP_ERR_CALL_SEQUENCE_ERROR, -202, "", true)                      \
-    M(OLAP_ERR_INPUT_PARAMETER_ERROR, -203, "", true)                    \
-    M(OLAP_ERR_BUFFER_OVERFLOW, -204, "", true)                          \
-    M(OLAP_ERR_CONFIG_ERROR, -205, "", true)                             \
-    M(OLAP_ERR_INIT_FAILED, -206, "", true)                              \
-    M(OLAP_ERR_INVALID_SCHEMA, -207, "", true)                           \
-    M(OLAP_ERR_CHECKSUM_ERROR, -208, "", true)                           \
-    M(OLAP_ERR_SIGNATURE_ERROR, -209, "", true)                          \
-    M(OLAP_ERR_CATCH_EXCEPTION, -210, "", true)                          \
-    M(OLAP_ERR_PARSE_PROTOBUF_ERROR, -211, "", true)                     \
-    M(OLAP_ERR_SERIALIZE_PROTOBUF_ERROR, -212, "", true)                 \
-    M(OLAP_ERR_WRITE_PROTOBUF_ERROR, -213, "", true)                     \
-    M(OLAP_ERR_VERSION_NOT_EXIST, -214, "", true)                        \
-    M(OLAP_ERR_TABLE_NOT_FOUND, -215, "", true)                          \
-    M(OLAP_ERR_TRY_LOCK_FAILED, -216, "", true)                          \
-    M(OLAP_ERR_OUT_OF_BOUND, -218, "", true)                             \
-    M(OLAP_ERR_UNDERFLOW, -219, "", true)                                \
-    M(OLAP_ERR_FILE_DATA_ERROR, -220, "", true)                          \
-    M(OLAP_ERR_TEST_FILE_ERROR, -221, "", true)                          \
-    M(OLAP_ERR_INVALID_ROOT_PATH, -222, "", true)                        \
-    M(OLAP_ERR_NO_AVAILABLE_ROOT_PATH, -223, "", true)                   \
-    M(OLAP_ERR_CHECK_LINES_ERROR, -224, "", true)                        \
-    M(OLAP_ERR_INVALID_CLUSTER_INFO, -225, "", true)                     \
-    M(OLAP_ERR_TRANSACTION_NOT_EXIST, -226, "", true)                    \
-    M(OLAP_ERR_DISK_FAILURE, -227, "", true)                             \
-    M(OLAP_ERR_TRANSACTION_ALREADY_COMMITTED, -228, "", true)            \
-    M(OLAP_ERR_TRANSACTION_ALREADY_VISIBLE, -229, "", true)              \
-    M(OLAP_ERR_VERSION_ALREADY_MERGED, -230, "", true)                   \
-    M(OLAP_ERR_LZO_DISABLED, -231, "", true)                             \
-    M(OLAP_ERR_DISK_REACH_CAPACITY_LIMIT, -232, "", true)                \
-    M(OLAP_ERR_TOO_MANY_TRANSACTIONS, -233, "", true)                    \
-    M(OLAP_ERR_INVALID_SNAPSHOT_VERSION, -234, "", true)                 \
-    M(OLAP_ERR_TOO_MANY_VERSION, -235, "", true)                         \
-    M(OLAP_ERR_NOT_INITIALIZED, -236, "", true)                          \
-    M(OLAP_ERR_ALREADY_CANCELLED, -237, "", true)                        \
-    M(OLAP_ERR_TOO_MANY_SEGMENTS, -238, "", true)                        \
-    M(OLAP_ERR_CE_CMD_PARAMS_ERROR, -300, "", true)                      \
-    M(OLAP_ERR_CE_BUFFER_TOO_SMALL, -301, "", true)                      \
-    M(OLAP_ERR_CE_CMD_NOT_VALID, -302, "", true)                         \
-    M(OLAP_ERR_CE_LOAD_TABLE_ERROR, -303, "", true)                      \
-    M(OLAP_ERR_CE_NOT_FINISHED, -304, "", true)                          \
-    M(OLAP_ERR_CE_TABLET_ID_EXIST, -305, "", true)                       \
-    M(OLAP_ERR_CE_TRY_CE_LOCK_ERROR, -306, "", false)                    \
-    M(OLAP_ERR_TABLE_VERSION_DUPLICATE_ERROR, -400, "", true)            \
-    M(OLAP_ERR_TABLE_VERSION_INDEX_MISMATCH_ERROR, -401, "", true)       \
-    M(OLAP_ERR_TABLE_INDEX_VALIDATE_ERROR, -402, "", true)               \
-    M(OLAP_ERR_TABLE_INDEX_FIND_ERROR, -403, "", true)                   \
-    M(OLAP_ERR_TABLE_CREATE_FROM_HEADER_ERROR, -404, "", true)           \
-    M(OLAP_ERR_TABLE_CREATE_META_ERROR, -405, "", true)                  \
-    M(OLAP_ERR_TABLE_ALREADY_DELETED_ERROR, -406, "", false)             \
-    M(OLAP_ERR_ENGINE_INSERT_EXISTS_TABLE, -500, "", true)               \
-    M(OLAP_ERR_ENGINE_DROP_NOEXISTS_TABLE, -501, "", true)               \
-    M(OLAP_ERR_ENGINE_LOAD_INDEX_TABLE_ERROR, -502, "", true)            \
-    M(OLAP_ERR_TABLE_INSERT_DUPLICATION_ERROR, -503, "", true)           \
-    M(OLAP_ERR_DELETE_VERSION_ERROR, -504, "", true)                     \
-    M(OLAP_ERR_GC_SCAN_PATH_ERROR, -505, "", true)                       \
-    M(OLAP_ERR_ENGINE_INSERT_OLD_TABLET, -506, "", true)                 \
-    M(OLAP_ERR_FETCH_OTHER_ERROR, -600, "", true)                        \
-    M(OLAP_ERR_FETCH_TABLE_NOT_EXIST, -601, "", true)                    \
-    M(OLAP_ERR_FETCH_VERSION_ERROR, -602, "", true)                      \
-    M(OLAP_ERR_FETCH_SCHEMA_ERROR, -603, "", true)                       \
-    M(OLAP_ERR_FETCH_COMPRESSION_ERROR, -604, "", true)                  \
-    M(OLAP_ERR_FETCH_CONTEXT_NOT_EXIST, -605, "", true)                  \
-    M(OLAP_ERR_FETCH_GET_READER_PARAMS_ERR, -606, "", true)              \
-    M(OLAP_ERR_FETCH_SAVE_SESSION_ERR, -607, "", true)                   \
-    M(OLAP_ERR_FETCH_MEMORY_EXCEEDED, -608, "", true)                    \
-    M(OLAP_ERR_READER_IS_UNINITIALIZED, -700, "", true)                  \
-    M(OLAP_ERR_READER_GET_ITERATOR_ERROR, -701, "", true)                \
-    M(OLAP_ERR_CAPTURE_ROWSET_READER_ERROR, -702, "", true)              \
-    M(OLAP_ERR_READER_READING_ERROR, -703, "", true)                     \
-    M(OLAP_ERR_READER_INITIALIZE_ERROR, -704, "", true)                  \
-    M(OLAP_ERR_BE_VERSION_NOT_MATCH, -800, "", true)                     \
-    M(OLAP_ERR_BE_REPLACE_VERSIONS_ERROR, -801, "", true)                \
-    M(OLAP_ERR_BE_MERGE_ERROR, -802, "", true)                           \
-    M(OLAP_ERR_CAPTURE_ROWSET_ERROR, -804, "", true)                     \
-    M(OLAP_ERR_BE_SAVE_HEADER_ERROR, -805, "", true)                     \
-    M(OLAP_ERR_BE_INIT_OLAP_DATA, -806, "", true)                        \
-    M(OLAP_ERR_BE_TRY_OBTAIN_VERSION_LOCKS, -807, "", true)              \
-    M(OLAP_ERR_BE_NO_SUITABLE_VERSION, -808, "", false)                  \
-    M(OLAP_ERR_BE_TRY_BE_LOCK_ERROR, -809, "", true)                     \
-    M(OLAP_ERR_BE_INVALID_NEED_MERGED_VERSIONS, -810, "", true)          \
-    M(OLAP_ERR_BE_ERROR_DELETE_ACTION, -811, "", true)                   \
-    M(OLAP_ERR_BE_SEGMENTS_OVERLAPPING, -812, "", true)                  \
-    M(OLAP_ERR_BE_CLONE_OCCURRED, -813, "", true)                        \
-    M(OLAP_ERR_PUSH_INIT_ERROR, -900, "", true)                          \
-    M(OLAP_ERR_PUSH_DELTA_FILE_EOF, -901, "", false)                     \
-    M(OLAP_ERR_PUSH_VERSION_INCORRECT, -902, "", true)                   \
-    M(OLAP_ERR_PUSH_SCHEMA_MISMATCH, -903, "", true)                     \
-    M(OLAP_ERR_PUSH_CHECKSUM_ERROR, -904, "", true)                      \
-    M(OLAP_ERR_PUSH_ACQUIRE_DATASOURCE_ERROR, -905, "", true)            \
-    M(OLAP_ERR_PUSH_CREAT_CUMULATIVE_ERROR, -906, "", true)              \
-    M(OLAP_ERR_PUSH_BUILD_DELTA_ERROR, -907, "", true)                   \
-    M(OLAP_ERR_PUSH_VERSION_ALREADY_EXIST, -908, "", true)               \
-    M(OLAP_ERR_PUSH_TABLE_NOT_EXIST, -909, "", true)                     \
-    M(OLAP_ERR_PUSH_INPUT_DATA_ERROR, -910, "", true)                    \
-    M(OLAP_ERR_PUSH_TRANSACTION_ALREADY_EXIST, -911, "", true)           \
-    M(OLAP_ERR_PUSH_BATCH_PROCESS_REMOVED, -912, "", true)               \
-    M(OLAP_ERR_PUSH_COMMIT_ROWSET, -913, "", true)                       \
-    M(OLAP_ERR_PUSH_ROWSET_NOT_FOUND, -914, "", true)                    \
-    M(OLAP_ERR_INDEX_LOAD_ERROR, -1000, "", true)                        \
-    M(OLAP_ERR_INDEX_EOF, -1001, "", false)                              \
-    M(OLAP_ERR_INDEX_CHECKSUM_ERROR, -1002, "", true)                    \
-    M(OLAP_ERR_INDEX_DELTA_PRUNING, -1003, "", true)                     \
-    M(OLAP_ERR_DATA_ROW_BLOCK_ERROR, -1100, "", true)                    \
-    M(OLAP_ERR_DATA_FILE_TYPE_ERROR, -1101, "", true)                    \
-    M(OLAP_ERR_DATA_EOF, -1102, "", false)                               \
-    M(OLAP_ERR_WRITER_INDEX_WRITE_ERROR, -1200, "", true)                \
-    M(OLAP_ERR_WRITER_DATA_WRITE_ERROR, -1201, "", true)                 \
-    M(OLAP_ERR_WRITER_ROW_BLOCK_ERROR, -1202, "", true)                  \
-    M(OLAP_ERR_WRITER_SEGMENT_NOT_FINALIZED, -1203, "", true)            \
-    M(OLAP_ERR_ROWBLOCK_DECOMPRESS_ERROR, -1300, "", true)               \
-    M(OLAP_ERR_ROWBLOCK_FIND_ROW_EXCEPTION, -1301, "", true)             \
-    M(OLAP_ERR_ROWBLOCK_READ_INFO_ERROR, -1302, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_VERSION, -1400, "", true)                      \
-    M(OLAP_ERR_HEADER_DELETE_VERSION, -1401, "", true)                   \
-    M(OLAP_ERR_HEADER_ADD_PENDING_DELTA, -1402, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_INCREMENTAL_VERSION, -1403, "", true)          \
-    M(OLAP_ERR_HEADER_INVALID_FLAG, -1404, "", true)                     \
-    M(OLAP_ERR_HEADER_PUT, -1405, "", true)                              \
-    M(OLAP_ERR_HEADER_DELETE, -1406, "", true)                           \
-    M(OLAP_ERR_HEADER_GET, -1407, "", true)                              \
-    M(OLAP_ERR_HEADER_LOAD_INVALID_KEY, -1408, "", true)                 \
-    M(OLAP_ERR_HEADER_FLAG_PUT, -1409, "", true)                         \
-    M(OLAP_ERR_HEADER_LOAD_JSON_HEADER, -1410, "", true)                 \
-    M(OLAP_ERR_HEADER_INIT_FAILED, -1411, "", true)                      \
-    M(OLAP_ERR_HEADER_PB_PARSE_FAILED, -1412, "", true)                  \
-    M(OLAP_ERR_HEADER_HAS_PENDING_DATA, -1413, "", false)                \
-    M(OLAP_ERR_SCHEMA_SCHEMA_INVALID, -1500, "", false)                  \
-    M(OLAP_ERR_SCHEMA_SCHEMA_FIELD_INVALID, -1501, "", true)             \
-    M(OLAP_ERR_ALTER_MULTI_TABLE_ERR, -1600, "", true)                   \
-    M(OLAP_ERR_ALTER_DELTA_DOES_NOT_EXISTS, -1601, "", true)             \
-    M(OLAP_ERR_ALTER_STATUS_ERR, -1602, "", true)                        \
-    M(OLAP_ERR_PREVIOUS_SCHEMA_CHANGE_NOT_FINISHED, -1603, "", true)     \
-    M(OLAP_ERR_SCHEMA_CHANGE_INFO_INVALID, -1604, "", true)              \
-    M(OLAP_ERR_QUERY_SPLIT_KEY_ERR, -1605, "", true)                     \
-    M(OLAP_ERR_DATA_QUALITY_ERR, -1606, "", true)                        \
-    M(OLAP_ERR_COLUMN_DATA_LOAD_BLOCK, -1700, "", true)                  \
-    M(OLAP_ERR_COLUMN_DATA_RECORD_INDEX, -1701, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_MAKE_FILE_HEADER, -1702, "", true)            \
-    M(OLAP_ERR_COLUMN_DATA_READ_VAR_INT, -1703, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_PATCH_LIST_NUM, -1704, "", true)              \
-    M(OLAP_ERR_COLUMN_STREAM_EOF, -1705, "", false)                      \
-    M(OLAP_ERR_COLUMN_READ_STREAM, -1706, "", true)                      \
-    M(OLAP_ERR_COLUMN_STREAM_NOT_EXIST, -1716, "", true)                 \
-    M(OLAP_ERR_COLUMN_VALUE_NULL, -1717, "", true)                       \
-    M(OLAP_ERR_COLUMN_SEEK_ERROR, -1719, "", true)                       \
-    M(OLAP_ERR_DELETE_INVALID_CONDITION, -1900, "", true)                \
-    M(OLAP_ERR_DELETE_UPDATE_HEADER_FAILED, -1901, "", true)             \
-    M(OLAP_ERR_DELETE_SAVE_HEADER_FAILED, -1902, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_PARAMETERS, -1903, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_VERSION, -1904, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_NO_SUITABLE_VERSION, -2000, "", false)         \
-    M(OLAP_ERR_CUMULATIVE_REPEAT_INIT, -2001, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_INVALID_PARAMETERS, -2002, "", true)           \
-    M(OLAP_ERR_CUMULATIVE_FAILED_ACQUIRE_DATA_SOURCE, -2003, "", true)   \
-    M(OLAP_ERR_CUMULATIVE_INVALID_NEED_MERGED_VERSIONS, -2004, "", true) \
-    M(OLAP_ERR_CUMULATIVE_ERROR_DELETE_ACTION, -2005, "", true)          \
-    M(OLAP_ERR_CUMULATIVE_MISS_VERSION, -2006, "", true)                 \
-    M(OLAP_ERR_CUMULATIVE_CLONE_OCCURRED, -2007, "", true)               \
-    M(OLAP_ERR_META_INVALID_ARGUMENT, -3000, "", true)                   \
-    M(OLAP_ERR_META_OPEN_DB, -3001, "", true)                            \
-    M(OLAP_ERR_META_KEY_NOT_FOUND, -3002, "", true)                      \
-    M(OLAP_ERR_META_GET, -3003, "", true)                                \
-    M(OLAP_ERR_META_PUT, -3004, "", true)                                \
-    M(OLAP_ERR_META_ITERATOR, -3005, "", true)                           \
-    M(OLAP_ERR_META_DELETE, -3006, "", true)                             \
-    M(OLAP_ERR_META_ALREADY_EXIST, -3007, "", true)                      \
-    M(OLAP_ERR_ROWSET_WRITER_INIT, -3100, "", true)                      \
-    M(OLAP_ERR_ROWSET_SAVE_FAILED, -3101, "", true)                      \
-    M(OLAP_ERR_ROWSET_GENERATE_ID_FAILED, -3102, "", true)               \
-    M(OLAP_ERR_ROWSET_DELETE_FILE_FAILED, -3103, "", true)               \
-    M(OLAP_ERR_ROWSET_BUILDER_INIT, -3104, "", true)                     \
-    M(OLAP_ERR_ROWSET_TYPE_NOT_FOUND, -3105, "", true)                   \
-    M(OLAP_ERR_ROWSET_ALREADY_EXIST, -3106, "", true)                    \
-    M(OLAP_ERR_ROWSET_CREATE_READER, -3107, "", true)                    \
-    M(OLAP_ERR_ROWSET_INVALID, -3108, "", true)                          \
-    M(OLAP_ERR_ROWSET_LOAD_FAILED, -3109, "", true)                      \
-    M(OLAP_ERR_ROWSET_READER_INIT, -3110, "", true)                      \
-    M(OLAP_ERR_ROWSET_READ_FAILED, -3111, "", true)                      \
-    M(OLAP_ERR_ROWSET_INVALID_STATE_TRANSITION, -3112, "", true)         \
-    M(OLAP_ERR_STRING_OVERFLOW_IN_VEC_ENGINE, -3113, "", true)           \
-    M(OLAP_ERR_ROWSET_ADD_MIGRATION_V2, -3114, "", true)                 \
-    M(OLAP_ERR_PUBLISH_VERSION_NOT_CONTINUOUS, -3115, "", false)         \
-    M(OLAP_ERR_ROWSET_RENAME_FILE_FAILED, -3116, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_READER, -3117, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_WRITER, -3118, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_FAILED, -3119, "", false)
-
-enum ErrorCode {
-#define M(NAME, ERRORCODE, DESC, STACKTRACEENABLED) NAME = ERRORCODE,
-    APPLY_FOR_ERROR_CODES(M)
-#undef M
-};
+namespace ErrorCode {
+#define E(name, code) static constexpr int name = code
+E(OK, 0);
+#define TStatusError(name) E(name, TStatusCode::name)
+// Errors defined in TStatus
+TStatusError(PUBLISH_TIMEOUT);
+TStatusError(MEM_ALLOC_FAILED);
+TStatusError(BUFFER_ALLOCATION_FAILED);
+TStatusError(INVALID_ARGUMENT);
+TStatusError(MINIMUM_RESERVATION_UNAVAILABLE);
+TStatusError(CORRUPTION);
+TStatusError(IO_ERROR);
+TStatusError(NOT_FOUND);
+TStatusError(ALREADY_EXIST);
+TStatusError(NOT_IMPLEMENTED_ERROR);
+TStatusError(END_OF_FILE);
+TStatusError(INTERNAL_ERROR);
+TStatusError(RUNTIME_ERROR);
+TStatusError(CANCELLED);
+TStatusError(MEM_LIMIT_EXCEEDED);
+TStatusError(THRIFT_RPC_ERROR);
+TStatusError(TIMEOUT);
+TStatusError(TOO_MANY_TASKS);
+TStatusError(SERVICE_UNAVAILABLE);
+TStatusError(UNINITIALIZED);
+TStatusError(ABORTED);
+TStatusError(DATA_QUALITY_ERROR);
+TStatusError(LABEL_ALREADY_EXISTS);
+#undef TStatusError
+// BE internal errors
+E(OS_ERROR, -100);
+E(DIR_NOT_EXIST, -101);
+E(FILE_NOT_EXIST, -102);
+E(CREATE_FILE_ERROR, -103);
+E(STL_ERROR, -105);
+E(MUTEX_ERROR, -107);

Review Comment:
   warning: unused variable 'MUTEX_ERROR' [clang-diagnostic-unused-const-variable]
   ```cpp
   E(MUTEX_ERROR, -107);
     ^
   ```
   



##########
be/src/common/status.h:
##########
@@ -12,249 +12,283 @@
 #include <string_view>
 
 #include "common/compiler_util.h"
-#include "common/logging.h"
 #include "gen_cpp/Status_types.h" // for TStatus
+#ifdef ENABLE_STACKTRACE
+#include "util/stack_util.h"
+#endif
 
 namespace doris {
 
 class PStatus;
 
-// ErrorName, ErrorCode, String Description, Should print stacktrace
-#define APPLY_FOR_ERROR_CODES(M)                                         \
-    M(OLAP_SUCCESS, 0, "", false)                                        \
-    M(OLAP_ERR_OTHER_ERROR, -1, "", true)                                \
-    M(OLAP_REQUEST_FAILED, -2, "", false)                                \
-    M(OLAP_ERR_OS_ERROR, -100, "", true)                                 \
-    M(OLAP_ERR_DIR_NOT_EXIST, -101, "", true)                            \
-    M(OLAP_ERR_FILE_NOT_EXIST, -102, "", true)                           \
-    M(OLAP_ERR_CREATE_FILE_ERROR, -103, "", true)                        \
-    M(OLAP_ERR_MALLOC_ERROR, -104, "", true)                             \
-    M(OLAP_ERR_STL_ERROR, -105, "", true)                                \
-    M(OLAP_ERR_IO_ERROR, -106, "", true)                                 \
-    M(OLAP_ERR_MUTEX_ERROR, -107, "", true)                              \
-    M(OLAP_ERR_PTHREAD_ERROR, -108, "", true)                            \
-    M(OLAP_ERR_NETWORK_ERROR, -109, "", true)                            \
-    M(OLAP_ERR_UB_FUNC_ERROR, -110, "", true)                            \
-    M(OLAP_ERR_COMPRESS_ERROR, -111, "", true)                           \
-    M(OLAP_ERR_DECOMPRESS_ERROR, -112, "", true)                         \
-    M(OLAP_ERR_UNKNOWN_COMPRESSION_TYPE, -113, "", true)                 \
-    M(OLAP_ERR_MMAP_ERROR, -114, "", true)                               \
-    M(OLAP_ERR_RWLOCK_ERROR, -115, "", true)                             \
-    M(OLAP_ERR_READ_UNENOUGH, -116, "", true)                            \
-    M(OLAP_ERR_CANNOT_CREATE_DIR, -117, "", true)                        \
-    M(OLAP_ERR_UB_NETWORK_ERROR, -118, "", true)                         \
-    M(OLAP_ERR_FILE_FORMAT_ERROR, -119, "", true)                        \
-    M(OLAP_ERR_EVAL_CONJUNCTS_ERROR, -120, "", true)                     \
-    M(OLAP_ERR_COPY_FILE_ERROR, -121, "", true)                          \
-    M(OLAP_ERR_FILE_ALREADY_EXIST, -122, "", true)                       \
-    M(OLAP_ERR_NOT_INITED, -200, "", true)                               \
-    M(OLAP_ERR_FUNC_NOT_IMPLEMENTED, -201, "", true)                     \
-    M(OLAP_ERR_CALL_SEQUENCE_ERROR, -202, "", true)                      \
-    M(OLAP_ERR_INPUT_PARAMETER_ERROR, -203, "", true)                    \
-    M(OLAP_ERR_BUFFER_OVERFLOW, -204, "", true)                          \
-    M(OLAP_ERR_CONFIG_ERROR, -205, "", true)                             \
-    M(OLAP_ERR_INIT_FAILED, -206, "", true)                              \
-    M(OLAP_ERR_INVALID_SCHEMA, -207, "", true)                           \
-    M(OLAP_ERR_CHECKSUM_ERROR, -208, "", true)                           \
-    M(OLAP_ERR_SIGNATURE_ERROR, -209, "", true)                          \
-    M(OLAP_ERR_CATCH_EXCEPTION, -210, "", true)                          \
-    M(OLAP_ERR_PARSE_PROTOBUF_ERROR, -211, "", true)                     \
-    M(OLAP_ERR_SERIALIZE_PROTOBUF_ERROR, -212, "", true)                 \
-    M(OLAP_ERR_WRITE_PROTOBUF_ERROR, -213, "", true)                     \
-    M(OLAP_ERR_VERSION_NOT_EXIST, -214, "", true)                        \
-    M(OLAP_ERR_TABLE_NOT_FOUND, -215, "", true)                          \
-    M(OLAP_ERR_TRY_LOCK_FAILED, -216, "", true)                          \
-    M(OLAP_ERR_OUT_OF_BOUND, -218, "", true)                             \
-    M(OLAP_ERR_UNDERFLOW, -219, "", true)                                \
-    M(OLAP_ERR_FILE_DATA_ERROR, -220, "", true)                          \
-    M(OLAP_ERR_TEST_FILE_ERROR, -221, "", true)                          \
-    M(OLAP_ERR_INVALID_ROOT_PATH, -222, "", true)                        \
-    M(OLAP_ERR_NO_AVAILABLE_ROOT_PATH, -223, "", true)                   \
-    M(OLAP_ERR_CHECK_LINES_ERROR, -224, "", true)                        \
-    M(OLAP_ERR_INVALID_CLUSTER_INFO, -225, "", true)                     \
-    M(OLAP_ERR_TRANSACTION_NOT_EXIST, -226, "", true)                    \
-    M(OLAP_ERR_DISK_FAILURE, -227, "", true)                             \
-    M(OLAP_ERR_TRANSACTION_ALREADY_COMMITTED, -228, "", true)            \
-    M(OLAP_ERR_TRANSACTION_ALREADY_VISIBLE, -229, "", true)              \
-    M(OLAP_ERR_VERSION_ALREADY_MERGED, -230, "", true)                   \
-    M(OLAP_ERR_LZO_DISABLED, -231, "", true)                             \
-    M(OLAP_ERR_DISK_REACH_CAPACITY_LIMIT, -232, "", true)                \
-    M(OLAP_ERR_TOO_MANY_TRANSACTIONS, -233, "", true)                    \
-    M(OLAP_ERR_INVALID_SNAPSHOT_VERSION, -234, "", true)                 \
-    M(OLAP_ERR_TOO_MANY_VERSION, -235, "", true)                         \
-    M(OLAP_ERR_NOT_INITIALIZED, -236, "", true)                          \
-    M(OLAP_ERR_ALREADY_CANCELLED, -237, "", true)                        \
-    M(OLAP_ERR_TOO_MANY_SEGMENTS, -238, "", true)                        \
-    M(OLAP_ERR_CE_CMD_PARAMS_ERROR, -300, "", true)                      \
-    M(OLAP_ERR_CE_BUFFER_TOO_SMALL, -301, "", true)                      \
-    M(OLAP_ERR_CE_CMD_NOT_VALID, -302, "", true)                         \
-    M(OLAP_ERR_CE_LOAD_TABLE_ERROR, -303, "", true)                      \
-    M(OLAP_ERR_CE_NOT_FINISHED, -304, "", true)                          \
-    M(OLAP_ERR_CE_TABLET_ID_EXIST, -305, "", true)                       \
-    M(OLAP_ERR_CE_TRY_CE_LOCK_ERROR, -306, "", false)                    \
-    M(OLAP_ERR_TABLE_VERSION_DUPLICATE_ERROR, -400, "", true)            \
-    M(OLAP_ERR_TABLE_VERSION_INDEX_MISMATCH_ERROR, -401, "", true)       \
-    M(OLAP_ERR_TABLE_INDEX_VALIDATE_ERROR, -402, "", true)               \
-    M(OLAP_ERR_TABLE_INDEX_FIND_ERROR, -403, "", true)                   \
-    M(OLAP_ERR_TABLE_CREATE_FROM_HEADER_ERROR, -404, "", true)           \
-    M(OLAP_ERR_TABLE_CREATE_META_ERROR, -405, "", true)                  \
-    M(OLAP_ERR_TABLE_ALREADY_DELETED_ERROR, -406, "", false)             \
-    M(OLAP_ERR_ENGINE_INSERT_EXISTS_TABLE, -500, "", true)               \
-    M(OLAP_ERR_ENGINE_DROP_NOEXISTS_TABLE, -501, "", true)               \
-    M(OLAP_ERR_ENGINE_LOAD_INDEX_TABLE_ERROR, -502, "", true)            \
-    M(OLAP_ERR_TABLE_INSERT_DUPLICATION_ERROR, -503, "", true)           \
-    M(OLAP_ERR_DELETE_VERSION_ERROR, -504, "", true)                     \
-    M(OLAP_ERR_GC_SCAN_PATH_ERROR, -505, "", true)                       \
-    M(OLAP_ERR_ENGINE_INSERT_OLD_TABLET, -506, "", true)                 \
-    M(OLAP_ERR_FETCH_OTHER_ERROR, -600, "", true)                        \
-    M(OLAP_ERR_FETCH_TABLE_NOT_EXIST, -601, "", true)                    \
-    M(OLAP_ERR_FETCH_VERSION_ERROR, -602, "", true)                      \
-    M(OLAP_ERR_FETCH_SCHEMA_ERROR, -603, "", true)                       \
-    M(OLAP_ERR_FETCH_COMPRESSION_ERROR, -604, "", true)                  \
-    M(OLAP_ERR_FETCH_CONTEXT_NOT_EXIST, -605, "", true)                  \
-    M(OLAP_ERR_FETCH_GET_READER_PARAMS_ERR, -606, "", true)              \
-    M(OLAP_ERR_FETCH_SAVE_SESSION_ERR, -607, "", true)                   \
-    M(OLAP_ERR_FETCH_MEMORY_EXCEEDED, -608, "", true)                    \
-    M(OLAP_ERR_READER_IS_UNINITIALIZED, -700, "", true)                  \
-    M(OLAP_ERR_READER_GET_ITERATOR_ERROR, -701, "", true)                \
-    M(OLAP_ERR_CAPTURE_ROWSET_READER_ERROR, -702, "", true)              \
-    M(OLAP_ERR_READER_READING_ERROR, -703, "", true)                     \
-    M(OLAP_ERR_READER_INITIALIZE_ERROR, -704, "", true)                  \
-    M(OLAP_ERR_BE_VERSION_NOT_MATCH, -800, "", true)                     \
-    M(OLAP_ERR_BE_REPLACE_VERSIONS_ERROR, -801, "", true)                \
-    M(OLAP_ERR_BE_MERGE_ERROR, -802, "", true)                           \
-    M(OLAP_ERR_CAPTURE_ROWSET_ERROR, -804, "", true)                     \
-    M(OLAP_ERR_BE_SAVE_HEADER_ERROR, -805, "", true)                     \
-    M(OLAP_ERR_BE_INIT_OLAP_DATA, -806, "", true)                        \
-    M(OLAP_ERR_BE_TRY_OBTAIN_VERSION_LOCKS, -807, "", true)              \
-    M(OLAP_ERR_BE_NO_SUITABLE_VERSION, -808, "", false)                  \
-    M(OLAP_ERR_BE_TRY_BE_LOCK_ERROR, -809, "", true)                     \
-    M(OLAP_ERR_BE_INVALID_NEED_MERGED_VERSIONS, -810, "", true)          \
-    M(OLAP_ERR_BE_ERROR_DELETE_ACTION, -811, "", true)                   \
-    M(OLAP_ERR_BE_SEGMENTS_OVERLAPPING, -812, "", true)                  \
-    M(OLAP_ERR_BE_CLONE_OCCURRED, -813, "", true)                        \
-    M(OLAP_ERR_PUSH_INIT_ERROR, -900, "", true)                          \
-    M(OLAP_ERR_PUSH_DELTA_FILE_EOF, -901, "", false)                     \
-    M(OLAP_ERR_PUSH_VERSION_INCORRECT, -902, "", true)                   \
-    M(OLAP_ERR_PUSH_SCHEMA_MISMATCH, -903, "", true)                     \
-    M(OLAP_ERR_PUSH_CHECKSUM_ERROR, -904, "", true)                      \
-    M(OLAP_ERR_PUSH_ACQUIRE_DATASOURCE_ERROR, -905, "", true)            \
-    M(OLAP_ERR_PUSH_CREAT_CUMULATIVE_ERROR, -906, "", true)              \
-    M(OLAP_ERR_PUSH_BUILD_DELTA_ERROR, -907, "", true)                   \
-    M(OLAP_ERR_PUSH_VERSION_ALREADY_EXIST, -908, "", true)               \
-    M(OLAP_ERR_PUSH_TABLE_NOT_EXIST, -909, "", true)                     \
-    M(OLAP_ERR_PUSH_INPUT_DATA_ERROR, -910, "", true)                    \
-    M(OLAP_ERR_PUSH_TRANSACTION_ALREADY_EXIST, -911, "", true)           \
-    M(OLAP_ERR_PUSH_BATCH_PROCESS_REMOVED, -912, "", true)               \
-    M(OLAP_ERR_PUSH_COMMIT_ROWSET, -913, "", true)                       \
-    M(OLAP_ERR_PUSH_ROWSET_NOT_FOUND, -914, "", true)                    \
-    M(OLAP_ERR_INDEX_LOAD_ERROR, -1000, "", true)                        \
-    M(OLAP_ERR_INDEX_EOF, -1001, "", false)                              \
-    M(OLAP_ERR_INDEX_CHECKSUM_ERROR, -1002, "", true)                    \
-    M(OLAP_ERR_INDEX_DELTA_PRUNING, -1003, "", true)                     \
-    M(OLAP_ERR_DATA_ROW_BLOCK_ERROR, -1100, "", true)                    \
-    M(OLAP_ERR_DATA_FILE_TYPE_ERROR, -1101, "", true)                    \
-    M(OLAP_ERR_DATA_EOF, -1102, "", false)                               \
-    M(OLAP_ERR_WRITER_INDEX_WRITE_ERROR, -1200, "", true)                \
-    M(OLAP_ERR_WRITER_DATA_WRITE_ERROR, -1201, "", true)                 \
-    M(OLAP_ERR_WRITER_ROW_BLOCK_ERROR, -1202, "", true)                  \
-    M(OLAP_ERR_WRITER_SEGMENT_NOT_FINALIZED, -1203, "", true)            \
-    M(OLAP_ERR_ROWBLOCK_DECOMPRESS_ERROR, -1300, "", true)               \
-    M(OLAP_ERR_ROWBLOCK_FIND_ROW_EXCEPTION, -1301, "", true)             \
-    M(OLAP_ERR_ROWBLOCK_READ_INFO_ERROR, -1302, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_VERSION, -1400, "", true)                      \
-    M(OLAP_ERR_HEADER_DELETE_VERSION, -1401, "", true)                   \
-    M(OLAP_ERR_HEADER_ADD_PENDING_DELTA, -1402, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_INCREMENTAL_VERSION, -1403, "", true)          \
-    M(OLAP_ERR_HEADER_INVALID_FLAG, -1404, "", true)                     \
-    M(OLAP_ERR_HEADER_PUT, -1405, "", true)                              \
-    M(OLAP_ERR_HEADER_DELETE, -1406, "", true)                           \
-    M(OLAP_ERR_HEADER_GET, -1407, "", true)                              \
-    M(OLAP_ERR_HEADER_LOAD_INVALID_KEY, -1408, "", true)                 \
-    M(OLAP_ERR_HEADER_FLAG_PUT, -1409, "", true)                         \
-    M(OLAP_ERR_HEADER_LOAD_JSON_HEADER, -1410, "", true)                 \
-    M(OLAP_ERR_HEADER_INIT_FAILED, -1411, "", true)                      \
-    M(OLAP_ERR_HEADER_PB_PARSE_FAILED, -1412, "", true)                  \
-    M(OLAP_ERR_HEADER_HAS_PENDING_DATA, -1413, "", false)                \
-    M(OLAP_ERR_SCHEMA_SCHEMA_INVALID, -1500, "", false)                  \
-    M(OLAP_ERR_SCHEMA_SCHEMA_FIELD_INVALID, -1501, "", true)             \
-    M(OLAP_ERR_ALTER_MULTI_TABLE_ERR, -1600, "", true)                   \
-    M(OLAP_ERR_ALTER_DELTA_DOES_NOT_EXISTS, -1601, "", true)             \
-    M(OLAP_ERR_ALTER_STATUS_ERR, -1602, "", true)                        \
-    M(OLAP_ERR_PREVIOUS_SCHEMA_CHANGE_NOT_FINISHED, -1603, "", true)     \
-    M(OLAP_ERR_SCHEMA_CHANGE_INFO_INVALID, -1604, "", true)              \
-    M(OLAP_ERR_QUERY_SPLIT_KEY_ERR, -1605, "", true)                     \
-    M(OLAP_ERR_DATA_QUALITY_ERR, -1606, "", true)                        \
-    M(OLAP_ERR_COLUMN_DATA_LOAD_BLOCK, -1700, "", true)                  \
-    M(OLAP_ERR_COLUMN_DATA_RECORD_INDEX, -1701, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_MAKE_FILE_HEADER, -1702, "", true)            \
-    M(OLAP_ERR_COLUMN_DATA_READ_VAR_INT, -1703, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_PATCH_LIST_NUM, -1704, "", true)              \
-    M(OLAP_ERR_COLUMN_STREAM_EOF, -1705, "", false)                      \
-    M(OLAP_ERR_COLUMN_READ_STREAM, -1706, "", true)                      \
-    M(OLAP_ERR_COLUMN_STREAM_NOT_EXIST, -1716, "", true)                 \
-    M(OLAP_ERR_COLUMN_VALUE_NULL, -1717, "", true)                       \
-    M(OLAP_ERR_COLUMN_SEEK_ERROR, -1719, "", true)                       \
-    M(OLAP_ERR_DELETE_INVALID_CONDITION, -1900, "", true)                \
-    M(OLAP_ERR_DELETE_UPDATE_HEADER_FAILED, -1901, "", true)             \
-    M(OLAP_ERR_DELETE_SAVE_HEADER_FAILED, -1902, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_PARAMETERS, -1903, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_VERSION, -1904, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_NO_SUITABLE_VERSION, -2000, "", false)         \
-    M(OLAP_ERR_CUMULATIVE_REPEAT_INIT, -2001, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_INVALID_PARAMETERS, -2002, "", true)           \
-    M(OLAP_ERR_CUMULATIVE_FAILED_ACQUIRE_DATA_SOURCE, -2003, "", true)   \
-    M(OLAP_ERR_CUMULATIVE_INVALID_NEED_MERGED_VERSIONS, -2004, "", true) \
-    M(OLAP_ERR_CUMULATIVE_ERROR_DELETE_ACTION, -2005, "", true)          \
-    M(OLAP_ERR_CUMULATIVE_MISS_VERSION, -2006, "", true)                 \
-    M(OLAP_ERR_CUMULATIVE_CLONE_OCCURRED, -2007, "", true)               \
-    M(OLAP_ERR_META_INVALID_ARGUMENT, -3000, "", true)                   \
-    M(OLAP_ERR_META_OPEN_DB, -3001, "", true)                            \
-    M(OLAP_ERR_META_KEY_NOT_FOUND, -3002, "", true)                      \
-    M(OLAP_ERR_META_GET, -3003, "", true)                                \
-    M(OLAP_ERR_META_PUT, -3004, "", true)                                \
-    M(OLAP_ERR_META_ITERATOR, -3005, "", true)                           \
-    M(OLAP_ERR_META_DELETE, -3006, "", true)                             \
-    M(OLAP_ERR_META_ALREADY_EXIST, -3007, "", true)                      \
-    M(OLAP_ERR_ROWSET_WRITER_INIT, -3100, "", true)                      \
-    M(OLAP_ERR_ROWSET_SAVE_FAILED, -3101, "", true)                      \
-    M(OLAP_ERR_ROWSET_GENERATE_ID_FAILED, -3102, "", true)               \
-    M(OLAP_ERR_ROWSET_DELETE_FILE_FAILED, -3103, "", true)               \
-    M(OLAP_ERR_ROWSET_BUILDER_INIT, -3104, "", true)                     \
-    M(OLAP_ERR_ROWSET_TYPE_NOT_FOUND, -3105, "", true)                   \
-    M(OLAP_ERR_ROWSET_ALREADY_EXIST, -3106, "", true)                    \
-    M(OLAP_ERR_ROWSET_CREATE_READER, -3107, "", true)                    \
-    M(OLAP_ERR_ROWSET_INVALID, -3108, "", true)                          \
-    M(OLAP_ERR_ROWSET_LOAD_FAILED, -3109, "", true)                      \
-    M(OLAP_ERR_ROWSET_READER_INIT, -3110, "", true)                      \
-    M(OLAP_ERR_ROWSET_READ_FAILED, -3111, "", true)                      \
-    M(OLAP_ERR_ROWSET_INVALID_STATE_TRANSITION, -3112, "", true)         \
-    M(OLAP_ERR_STRING_OVERFLOW_IN_VEC_ENGINE, -3113, "", true)           \
-    M(OLAP_ERR_ROWSET_ADD_MIGRATION_V2, -3114, "", true)                 \
-    M(OLAP_ERR_PUBLISH_VERSION_NOT_CONTINUOUS, -3115, "", false)         \
-    M(OLAP_ERR_ROWSET_RENAME_FILE_FAILED, -3116, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_READER, -3117, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_WRITER, -3118, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_FAILED, -3119, "", false)
-
-enum ErrorCode {
-#define M(NAME, ERRORCODE, DESC, STACKTRACEENABLED) NAME = ERRORCODE,
-    APPLY_FOR_ERROR_CODES(M)
-#undef M
-};
+namespace ErrorCode {
+#define E(name, code) static constexpr int name = code
+E(OK, 0);
+#define TStatusError(name) E(name, TStatusCode::name)
+// Errors defined in TStatus
+TStatusError(PUBLISH_TIMEOUT);
+TStatusError(MEM_ALLOC_FAILED);
+TStatusError(BUFFER_ALLOCATION_FAILED);
+TStatusError(INVALID_ARGUMENT);
+TStatusError(MINIMUM_RESERVATION_UNAVAILABLE);
+TStatusError(CORRUPTION);
+TStatusError(IO_ERROR);
+TStatusError(NOT_FOUND);
+TStatusError(ALREADY_EXIST);
+TStatusError(NOT_IMPLEMENTED_ERROR);
+TStatusError(END_OF_FILE);
+TStatusError(INTERNAL_ERROR);
+TStatusError(RUNTIME_ERROR);
+TStatusError(CANCELLED);
+TStatusError(MEM_LIMIT_EXCEEDED);
+TStatusError(THRIFT_RPC_ERROR);
+TStatusError(TIMEOUT);
+TStatusError(TOO_MANY_TASKS);
+TStatusError(SERVICE_UNAVAILABLE);
+TStatusError(UNINITIALIZED);
+TStatusError(ABORTED);
+TStatusError(DATA_QUALITY_ERROR);
+TStatusError(LABEL_ALREADY_EXISTS);
+#undef TStatusError
+// BE internal errors
+E(OS_ERROR, -100);
+E(DIR_NOT_EXIST, -101);

Review Comment:
   warning: unused variable 'DIR_NOT_EXIST' [clang-diagnostic-unused-const-variable]
   ```cpp
   E(DIR_NOT_EXIST, -101);
     ^
   ```
   



##########
be/src/common/status.h:
##########
@@ -12,249 +12,283 @@
 #include <string_view>
 
 #include "common/compiler_util.h"
-#include "common/logging.h"
 #include "gen_cpp/Status_types.h" // for TStatus
+#ifdef ENABLE_STACKTRACE
+#include "util/stack_util.h"
+#endif
 
 namespace doris {
 
 class PStatus;
 
-// ErrorName, ErrorCode, String Description, Should print stacktrace
-#define APPLY_FOR_ERROR_CODES(M)                                         \
-    M(OLAP_SUCCESS, 0, "", false)                                        \
-    M(OLAP_ERR_OTHER_ERROR, -1, "", true)                                \
-    M(OLAP_REQUEST_FAILED, -2, "", false)                                \
-    M(OLAP_ERR_OS_ERROR, -100, "", true)                                 \
-    M(OLAP_ERR_DIR_NOT_EXIST, -101, "", true)                            \
-    M(OLAP_ERR_FILE_NOT_EXIST, -102, "", true)                           \
-    M(OLAP_ERR_CREATE_FILE_ERROR, -103, "", true)                        \
-    M(OLAP_ERR_MALLOC_ERROR, -104, "", true)                             \
-    M(OLAP_ERR_STL_ERROR, -105, "", true)                                \
-    M(OLAP_ERR_IO_ERROR, -106, "", true)                                 \
-    M(OLAP_ERR_MUTEX_ERROR, -107, "", true)                              \
-    M(OLAP_ERR_PTHREAD_ERROR, -108, "", true)                            \
-    M(OLAP_ERR_NETWORK_ERROR, -109, "", true)                            \
-    M(OLAP_ERR_UB_FUNC_ERROR, -110, "", true)                            \
-    M(OLAP_ERR_COMPRESS_ERROR, -111, "", true)                           \
-    M(OLAP_ERR_DECOMPRESS_ERROR, -112, "", true)                         \
-    M(OLAP_ERR_UNKNOWN_COMPRESSION_TYPE, -113, "", true)                 \
-    M(OLAP_ERR_MMAP_ERROR, -114, "", true)                               \
-    M(OLAP_ERR_RWLOCK_ERROR, -115, "", true)                             \
-    M(OLAP_ERR_READ_UNENOUGH, -116, "", true)                            \
-    M(OLAP_ERR_CANNOT_CREATE_DIR, -117, "", true)                        \
-    M(OLAP_ERR_UB_NETWORK_ERROR, -118, "", true)                         \
-    M(OLAP_ERR_FILE_FORMAT_ERROR, -119, "", true)                        \
-    M(OLAP_ERR_EVAL_CONJUNCTS_ERROR, -120, "", true)                     \
-    M(OLAP_ERR_COPY_FILE_ERROR, -121, "", true)                          \
-    M(OLAP_ERR_FILE_ALREADY_EXIST, -122, "", true)                       \
-    M(OLAP_ERR_NOT_INITED, -200, "", true)                               \
-    M(OLAP_ERR_FUNC_NOT_IMPLEMENTED, -201, "", true)                     \
-    M(OLAP_ERR_CALL_SEQUENCE_ERROR, -202, "", true)                      \
-    M(OLAP_ERR_INPUT_PARAMETER_ERROR, -203, "", true)                    \
-    M(OLAP_ERR_BUFFER_OVERFLOW, -204, "", true)                          \
-    M(OLAP_ERR_CONFIG_ERROR, -205, "", true)                             \
-    M(OLAP_ERR_INIT_FAILED, -206, "", true)                              \
-    M(OLAP_ERR_INVALID_SCHEMA, -207, "", true)                           \
-    M(OLAP_ERR_CHECKSUM_ERROR, -208, "", true)                           \
-    M(OLAP_ERR_SIGNATURE_ERROR, -209, "", true)                          \
-    M(OLAP_ERR_CATCH_EXCEPTION, -210, "", true)                          \
-    M(OLAP_ERR_PARSE_PROTOBUF_ERROR, -211, "", true)                     \
-    M(OLAP_ERR_SERIALIZE_PROTOBUF_ERROR, -212, "", true)                 \
-    M(OLAP_ERR_WRITE_PROTOBUF_ERROR, -213, "", true)                     \
-    M(OLAP_ERR_VERSION_NOT_EXIST, -214, "", true)                        \
-    M(OLAP_ERR_TABLE_NOT_FOUND, -215, "", true)                          \
-    M(OLAP_ERR_TRY_LOCK_FAILED, -216, "", true)                          \
-    M(OLAP_ERR_OUT_OF_BOUND, -218, "", true)                             \
-    M(OLAP_ERR_UNDERFLOW, -219, "", true)                                \
-    M(OLAP_ERR_FILE_DATA_ERROR, -220, "", true)                          \
-    M(OLAP_ERR_TEST_FILE_ERROR, -221, "", true)                          \
-    M(OLAP_ERR_INVALID_ROOT_PATH, -222, "", true)                        \
-    M(OLAP_ERR_NO_AVAILABLE_ROOT_PATH, -223, "", true)                   \
-    M(OLAP_ERR_CHECK_LINES_ERROR, -224, "", true)                        \
-    M(OLAP_ERR_INVALID_CLUSTER_INFO, -225, "", true)                     \
-    M(OLAP_ERR_TRANSACTION_NOT_EXIST, -226, "", true)                    \
-    M(OLAP_ERR_DISK_FAILURE, -227, "", true)                             \
-    M(OLAP_ERR_TRANSACTION_ALREADY_COMMITTED, -228, "", true)            \
-    M(OLAP_ERR_TRANSACTION_ALREADY_VISIBLE, -229, "", true)              \
-    M(OLAP_ERR_VERSION_ALREADY_MERGED, -230, "", true)                   \
-    M(OLAP_ERR_LZO_DISABLED, -231, "", true)                             \
-    M(OLAP_ERR_DISK_REACH_CAPACITY_LIMIT, -232, "", true)                \
-    M(OLAP_ERR_TOO_MANY_TRANSACTIONS, -233, "", true)                    \
-    M(OLAP_ERR_INVALID_SNAPSHOT_VERSION, -234, "", true)                 \
-    M(OLAP_ERR_TOO_MANY_VERSION, -235, "", true)                         \
-    M(OLAP_ERR_NOT_INITIALIZED, -236, "", true)                          \
-    M(OLAP_ERR_ALREADY_CANCELLED, -237, "", true)                        \
-    M(OLAP_ERR_TOO_MANY_SEGMENTS, -238, "", true)                        \
-    M(OLAP_ERR_CE_CMD_PARAMS_ERROR, -300, "", true)                      \
-    M(OLAP_ERR_CE_BUFFER_TOO_SMALL, -301, "", true)                      \
-    M(OLAP_ERR_CE_CMD_NOT_VALID, -302, "", true)                         \
-    M(OLAP_ERR_CE_LOAD_TABLE_ERROR, -303, "", true)                      \
-    M(OLAP_ERR_CE_NOT_FINISHED, -304, "", true)                          \
-    M(OLAP_ERR_CE_TABLET_ID_EXIST, -305, "", true)                       \
-    M(OLAP_ERR_CE_TRY_CE_LOCK_ERROR, -306, "", false)                    \
-    M(OLAP_ERR_TABLE_VERSION_DUPLICATE_ERROR, -400, "", true)            \
-    M(OLAP_ERR_TABLE_VERSION_INDEX_MISMATCH_ERROR, -401, "", true)       \
-    M(OLAP_ERR_TABLE_INDEX_VALIDATE_ERROR, -402, "", true)               \
-    M(OLAP_ERR_TABLE_INDEX_FIND_ERROR, -403, "", true)                   \
-    M(OLAP_ERR_TABLE_CREATE_FROM_HEADER_ERROR, -404, "", true)           \
-    M(OLAP_ERR_TABLE_CREATE_META_ERROR, -405, "", true)                  \
-    M(OLAP_ERR_TABLE_ALREADY_DELETED_ERROR, -406, "", false)             \
-    M(OLAP_ERR_ENGINE_INSERT_EXISTS_TABLE, -500, "", true)               \
-    M(OLAP_ERR_ENGINE_DROP_NOEXISTS_TABLE, -501, "", true)               \
-    M(OLAP_ERR_ENGINE_LOAD_INDEX_TABLE_ERROR, -502, "", true)            \
-    M(OLAP_ERR_TABLE_INSERT_DUPLICATION_ERROR, -503, "", true)           \
-    M(OLAP_ERR_DELETE_VERSION_ERROR, -504, "", true)                     \
-    M(OLAP_ERR_GC_SCAN_PATH_ERROR, -505, "", true)                       \
-    M(OLAP_ERR_ENGINE_INSERT_OLD_TABLET, -506, "", true)                 \
-    M(OLAP_ERR_FETCH_OTHER_ERROR, -600, "", true)                        \
-    M(OLAP_ERR_FETCH_TABLE_NOT_EXIST, -601, "", true)                    \
-    M(OLAP_ERR_FETCH_VERSION_ERROR, -602, "", true)                      \
-    M(OLAP_ERR_FETCH_SCHEMA_ERROR, -603, "", true)                       \
-    M(OLAP_ERR_FETCH_COMPRESSION_ERROR, -604, "", true)                  \
-    M(OLAP_ERR_FETCH_CONTEXT_NOT_EXIST, -605, "", true)                  \
-    M(OLAP_ERR_FETCH_GET_READER_PARAMS_ERR, -606, "", true)              \
-    M(OLAP_ERR_FETCH_SAVE_SESSION_ERR, -607, "", true)                   \
-    M(OLAP_ERR_FETCH_MEMORY_EXCEEDED, -608, "", true)                    \
-    M(OLAP_ERR_READER_IS_UNINITIALIZED, -700, "", true)                  \
-    M(OLAP_ERR_READER_GET_ITERATOR_ERROR, -701, "", true)                \
-    M(OLAP_ERR_CAPTURE_ROWSET_READER_ERROR, -702, "", true)              \
-    M(OLAP_ERR_READER_READING_ERROR, -703, "", true)                     \
-    M(OLAP_ERR_READER_INITIALIZE_ERROR, -704, "", true)                  \
-    M(OLAP_ERR_BE_VERSION_NOT_MATCH, -800, "", true)                     \
-    M(OLAP_ERR_BE_REPLACE_VERSIONS_ERROR, -801, "", true)                \
-    M(OLAP_ERR_BE_MERGE_ERROR, -802, "", true)                           \
-    M(OLAP_ERR_CAPTURE_ROWSET_ERROR, -804, "", true)                     \
-    M(OLAP_ERR_BE_SAVE_HEADER_ERROR, -805, "", true)                     \
-    M(OLAP_ERR_BE_INIT_OLAP_DATA, -806, "", true)                        \
-    M(OLAP_ERR_BE_TRY_OBTAIN_VERSION_LOCKS, -807, "", true)              \
-    M(OLAP_ERR_BE_NO_SUITABLE_VERSION, -808, "", false)                  \
-    M(OLAP_ERR_BE_TRY_BE_LOCK_ERROR, -809, "", true)                     \
-    M(OLAP_ERR_BE_INVALID_NEED_MERGED_VERSIONS, -810, "", true)          \
-    M(OLAP_ERR_BE_ERROR_DELETE_ACTION, -811, "", true)                   \
-    M(OLAP_ERR_BE_SEGMENTS_OVERLAPPING, -812, "", true)                  \
-    M(OLAP_ERR_BE_CLONE_OCCURRED, -813, "", true)                        \
-    M(OLAP_ERR_PUSH_INIT_ERROR, -900, "", true)                          \
-    M(OLAP_ERR_PUSH_DELTA_FILE_EOF, -901, "", false)                     \
-    M(OLAP_ERR_PUSH_VERSION_INCORRECT, -902, "", true)                   \
-    M(OLAP_ERR_PUSH_SCHEMA_MISMATCH, -903, "", true)                     \
-    M(OLAP_ERR_PUSH_CHECKSUM_ERROR, -904, "", true)                      \
-    M(OLAP_ERR_PUSH_ACQUIRE_DATASOURCE_ERROR, -905, "", true)            \
-    M(OLAP_ERR_PUSH_CREAT_CUMULATIVE_ERROR, -906, "", true)              \
-    M(OLAP_ERR_PUSH_BUILD_DELTA_ERROR, -907, "", true)                   \
-    M(OLAP_ERR_PUSH_VERSION_ALREADY_EXIST, -908, "", true)               \
-    M(OLAP_ERR_PUSH_TABLE_NOT_EXIST, -909, "", true)                     \
-    M(OLAP_ERR_PUSH_INPUT_DATA_ERROR, -910, "", true)                    \
-    M(OLAP_ERR_PUSH_TRANSACTION_ALREADY_EXIST, -911, "", true)           \
-    M(OLAP_ERR_PUSH_BATCH_PROCESS_REMOVED, -912, "", true)               \
-    M(OLAP_ERR_PUSH_COMMIT_ROWSET, -913, "", true)                       \
-    M(OLAP_ERR_PUSH_ROWSET_NOT_FOUND, -914, "", true)                    \
-    M(OLAP_ERR_INDEX_LOAD_ERROR, -1000, "", true)                        \
-    M(OLAP_ERR_INDEX_EOF, -1001, "", false)                              \
-    M(OLAP_ERR_INDEX_CHECKSUM_ERROR, -1002, "", true)                    \
-    M(OLAP_ERR_INDEX_DELTA_PRUNING, -1003, "", true)                     \
-    M(OLAP_ERR_DATA_ROW_BLOCK_ERROR, -1100, "", true)                    \
-    M(OLAP_ERR_DATA_FILE_TYPE_ERROR, -1101, "", true)                    \
-    M(OLAP_ERR_DATA_EOF, -1102, "", false)                               \
-    M(OLAP_ERR_WRITER_INDEX_WRITE_ERROR, -1200, "", true)                \
-    M(OLAP_ERR_WRITER_DATA_WRITE_ERROR, -1201, "", true)                 \
-    M(OLAP_ERR_WRITER_ROW_BLOCK_ERROR, -1202, "", true)                  \
-    M(OLAP_ERR_WRITER_SEGMENT_NOT_FINALIZED, -1203, "", true)            \
-    M(OLAP_ERR_ROWBLOCK_DECOMPRESS_ERROR, -1300, "", true)               \
-    M(OLAP_ERR_ROWBLOCK_FIND_ROW_EXCEPTION, -1301, "", true)             \
-    M(OLAP_ERR_ROWBLOCK_READ_INFO_ERROR, -1302, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_VERSION, -1400, "", true)                      \
-    M(OLAP_ERR_HEADER_DELETE_VERSION, -1401, "", true)                   \
-    M(OLAP_ERR_HEADER_ADD_PENDING_DELTA, -1402, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_INCREMENTAL_VERSION, -1403, "", true)          \
-    M(OLAP_ERR_HEADER_INVALID_FLAG, -1404, "", true)                     \
-    M(OLAP_ERR_HEADER_PUT, -1405, "", true)                              \
-    M(OLAP_ERR_HEADER_DELETE, -1406, "", true)                           \
-    M(OLAP_ERR_HEADER_GET, -1407, "", true)                              \
-    M(OLAP_ERR_HEADER_LOAD_INVALID_KEY, -1408, "", true)                 \
-    M(OLAP_ERR_HEADER_FLAG_PUT, -1409, "", true)                         \
-    M(OLAP_ERR_HEADER_LOAD_JSON_HEADER, -1410, "", true)                 \
-    M(OLAP_ERR_HEADER_INIT_FAILED, -1411, "", true)                      \
-    M(OLAP_ERR_HEADER_PB_PARSE_FAILED, -1412, "", true)                  \
-    M(OLAP_ERR_HEADER_HAS_PENDING_DATA, -1413, "", false)                \
-    M(OLAP_ERR_SCHEMA_SCHEMA_INVALID, -1500, "", false)                  \
-    M(OLAP_ERR_SCHEMA_SCHEMA_FIELD_INVALID, -1501, "", true)             \
-    M(OLAP_ERR_ALTER_MULTI_TABLE_ERR, -1600, "", true)                   \
-    M(OLAP_ERR_ALTER_DELTA_DOES_NOT_EXISTS, -1601, "", true)             \
-    M(OLAP_ERR_ALTER_STATUS_ERR, -1602, "", true)                        \
-    M(OLAP_ERR_PREVIOUS_SCHEMA_CHANGE_NOT_FINISHED, -1603, "", true)     \
-    M(OLAP_ERR_SCHEMA_CHANGE_INFO_INVALID, -1604, "", true)              \
-    M(OLAP_ERR_QUERY_SPLIT_KEY_ERR, -1605, "", true)                     \
-    M(OLAP_ERR_DATA_QUALITY_ERR, -1606, "", true)                        \
-    M(OLAP_ERR_COLUMN_DATA_LOAD_BLOCK, -1700, "", true)                  \
-    M(OLAP_ERR_COLUMN_DATA_RECORD_INDEX, -1701, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_MAKE_FILE_HEADER, -1702, "", true)            \
-    M(OLAP_ERR_COLUMN_DATA_READ_VAR_INT, -1703, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_PATCH_LIST_NUM, -1704, "", true)              \
-    M(OLAP_ERR_COLUMN_STREAM_EOF, -1705, "", false)                      \
-    M(OLAP_ERR_COLUMN_READ_STREAM, -1706, "", true)                      \
-    M(OLAP_ERR_COLUMN_STREAM_NOT_EXIST, -1716, "", true)                 \
-    M(OLAP_ERR_COLUMN_VALUE_NULL, -1717, "", true)                       \
-    M(OLAP_ERR_COLUMN_SEEK_ERROR, -1719, "", true)                       \
-    M(OLAP_ERR_DELETE_INVALID_CONDITION, -1900, "", true)                \
-    M(OLAP_ERR_DELETE_UPDATE_HEADER_FAILED, -1901, "", true)             \
-    M(OLAP_ERR_DELETE_SAVE_HEADER_FAILED, -1902, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_PARAMETERS, -1903, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_VERSION, -1904, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_NO_SUITABLE_VERSION, -2000, "", false)         \
-    M(OLAP_ERR_CUMULATIVE_REPEAT_INIT, -2001, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_INVALID_PARAMETERS, -2002, "", true)           \
-    M(OLAP_ERR_CUMULATIVE_FAILED_ACQUIRE_DATA_SOURCE, -2003, "", true)   \
-    M(OLAP_ERR_CUMULATIVE_INVALID_NEED_MERGED_VERSIONS, -2004, "", true) \
-    M(OLAP_ERR_CUMULATIVE_ERROR_DELETE_ACTION, -2005, "", true)          \
-    M(OLAP_ERR_CUMULATIVE_MISS_VERSION, -2006, "", true)                 \
-    M(OLAP_ERR_CUMULATIVE_CLONE_OCCURRED, -2007, "", true)               \
-    M(OLAP_ERR_META_INVALID_ARGUMENT, -3000, "", true)                   \
-    M(OLAP_ERR_META_OPEN_DB, -3001, "", true)                            \
-    M(OLAP_ERR_META_KEY_NOT_FOUND, -3002, "", true)                      \
-    M(OLAP_ERR_META_GET, -3003, "", true)                                \
-    M(OLAP_ERR_META_PUT, -3004, "", true)                                \
-    M(OLAP_ERR_META_ITERATOR, -3005, "", true)                           \
-    M(OLAP_ERR_META_DELETE, -3006, "", true)                             \
-    M(OLAP_ERR_META_ALREADY_EXIST, -3007, "", true)                      \
-    M(OLAP_ERR_ROWSET_WRITER_INIT, -3100, "", true)                      \
-    M(OLAP_ERR_ROWSET_SAVE_FAILED, -3101, "", true)                      \
-    M(OLAP_ERR_ROWSET_GENERATE_ID_FAILED, -3102, "", true)               \
-    M(OLAP_ERR_ROWSET_DELETE_FILE_FAILED, -3103, "", true)               \
-    M(OLAP_ERR_ROWSET_BUILDER_INIT, -3104, "", true)                     \
-    M(OLAP_ERR_ROWSET_TYPE_NOT_FOUND, -3105, "", true)                   \
-    M(OLAP_ERR_ROWSET_ALREADY_EXIST, -3106, "", true)                    \
-    M(OLAP_ERR_ROWSET_CREATE_READER, -3107, "", true)                    \
-    M(OLAP_ERR_ROWSET_INVALID, -3108, "", true)                          \
-    M(OLAP_ERR_ROWSET_LOAD_FAILED, -3109, "", true)                      \
-    M(OLAP_ERR_ROWSET_READER_INIT, -3110, "", true)                      \
-    M(OLAP_ERR_ROWSET_READ_FAILED, -3111, "", true)                      \
-    M(OLAP_ERR_ROWSET_INVALID_STATE_TRANSITION, -3112, "", true)         \
-    M(OLAP_ERR_STRING_OVERFLOW_IN_VEC_ENGINE, -3113, "", true)           \
-    M(OLAP_ERR_ROWSET_ADD_MIGRATION_V2, -3114, "", true)                 \
-    M(OLAP_ERR_PUBLISH_VERSION_NOT_CONTINUOUS, -3115, "", false)         \
-    M(OLAP_ERR_ROWSET_RENAME_FILE_FAILED, -3116, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_READER, -3117, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_WRITER, -3118, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_FAILED, -3119, "", false)
-
-enum ErrorCode {
-#define M(NAME, ERRORCODE, DESC, STACKTRACEENABLED) NAME = ERRORCODE,
-    APPLY_FOR_ERROR_CODES(M)
-#undef M
-};
+namespace ErrorCode {
+#define E(name, code) static constexpr int name = code
+E(OK, 0);
+#define TStatusError(name) E(name, TStatusCode::name)
+// Errors defined in TStatus
+TStatusError(PUBLISH_TIMEOUT);
+TStatusError(MEM_ALLOC_FAILED);
+TStatusError(BUFFER_ALLOCATION_FAILED);
+TStatusError(INVALID_ARGUMENT);
+TStatusError(MINIMUM_RESERVATION_UNAVAILABLE);
+TStatusError(CORRUPTION);
+TStatusError(IO_ERROR);
+TStatusError(NOT_FOUND);
+TStatusError(ALREADY_EXIST);
+TStatusError(NOT_IMPLEMENTED_ERROR);
+TStatusError(END_OF_FILE);
+TStatusError(INTERNAL_ERROR);
+TStatusError(RUNTIME_ERROR);
+TStatusError(CANCELLED);
+TStatusError(MEM_LIMIT_EXCEEDED);
+TStatusError(THRIFT_RPC_ERROR);
+TStatusError(TIMEOUT);
+TStatusError(TOO_MANY_TASKS);
+TStatusError(SERVICE_UNAVAILABLE);
+TStatusError(UNINITIALIZED);
+TStatusError(ABORTED);
+TStatusError(DATA_QUALITY_ERROR);
+TStatusError(LABEL_ALREADY_EXISTS);
+#undef TStatusError
+// BE internal errors
+E(OS_ERROR, -100);
+E(DIR_NOT_EXIST, -101);
+E(FILE_NOT_EXIST, -102);
+E(CREATE_FILE_ERROR, -103);
+E(STL_ERROR, -105);
+E(MUTEX_ERROR, -107);
+E(PTHREAD_ERROR, -108);
+E(NETWORK_ERROR, -109);
+E(UB_FUNC_ERROR, -110);
+E(COMPRESS_ERROR, -111);

Review Comment:
   warning: unused variable 'COMPRESS_ERROR' [clang-diagnostic-unused-const-variable]
   ```cpp
   E(COMPRESS_ERROR, -111);
     ^
   ```
   



##########
be/src/common/status.h:
##########
@@ -12,249 +12,283 @@
 #include <string_view>
 
 #include "common/compiler_util.h"
-#include "common/logging.h"
 #include "gen_cpp/Status_types.h" // for TStatus
+#ifdef ENABLE_STACKTRACE
+#include "util/stack_util.h"
+#endif
 
 namespace doris {
 
 class PStatus;
 
-// ErrorName, ErrorCode, String Description, Should print stacktrace
-#define APPLY_FOR_ERROR_CODES(M)                                         \
-    M(OLAP_SUCCESS, 0, "", false)                                        \
-    M(OLAP_ERR_OTHER_ERROR, -1, "", true)                                \
-    M(OLAP_REQUEST_FAILED, -2, "", false)                                \
-    M(OLAP_ERR_OS_ERROR, -100, "", true)                                 \
-    M(OLAP_ERR_DIR_NOT_EXIST, -101, "", true)                            \
-    M(OLAP_ERR_FILE_NOT_EXIST, -102, "", true)                           \
-    M(OLAP_ERR_CREATE_FILE_ERROR, -103, "", true)                        \
-    M(OLAP_ERR_MALLOC_ERROR, -104, "", true)                             \
-    M(OLAP_ERR_STL_ERROR, -105, "", true)                                \
-    M(OLAP_ERR_IO_ERROR, -106, "", true)                                 \
-    M(OLAP_ERR_MUTEX_ERROR, -107, "", true)                              \
-    M(OLAP_ERR_PTHREAD_ERROR, -108, "", true)                            \
-    M(OLAP_ERR_NETWORK_ERROR, -109, "", true)                            \
-    M(OLAP_ERR_UB_FUNC_ERROR, -110, "", true)                            \
-    M(OLAP_ERR_COMPRESS_ERROR, -111, "", true)                           \
-    M(OLAP_ERR_DECOMPRESS_ERROR, -112, "", true)                         \
-    M(OLAP_ERR_UNKNOWN_COMPRESSION_TYPE, -113, "", true)                 \
-    M(OLAP_ERR_MMAP_ERROR, -114, "", true)                               \
-    M(OLAP_ERR_RWLOCK_ERROR, -115, "", true)                             \
-    M(OLAP_ERR_READ_UNENOUGH, -116, "", true)                            \
-    M(OLAP_ERR_CANNOT_CREATE_DIR, -117, "", true)                        \
-    M(OLAP_ERR_UB_NETWORK_ERROR, -118, "", true)                         \
-    M(OLAP_ERR_FILE_FORMAT_ERROR, -119, "", true)                        \
-    M(OLAP_ERR_EVAL_CONJUNCTS_ERROR, -120, "", true)                     \
-    M(OLAP_ERR_COPY_FILE_ERROR, -121, "", true)                          \
-    M(OLAP_ERR_FILE_ALREADY_EXIST, -122, "", true)                       \
-    M(OLAP_ERR_NOT_INITED, -200, "", true)                               \
-    M(OLAP_ERR_FUNC_NOT_IMPLEMENTED, -201, "", true)                     \
-    M(OLAP_ERR_CALL_SEQUENCE_ERROR, -202, "", true)                      \
-    M(OLAP_ERR_INPUT_PARAMETER_ERROR, -203, "", true)                    \
-    M(OLAP_ERR_BUFFER_OVERFLOW, -204, "", true)                          \
-    M(OLAP_ERR_CONFIG_ERROR, -205, "", true)                             \
-    M(OLAP_ERR_INIT_FAILED, -206, "", true)                              \
-    M(OLAP_ERR_INVALID_SCHEMA, -207, "", true)                           \
-    M(OLAP_ERR_CHECKSUM_ERROR, -208, "", true)                           \
-    M(OLAP_ERR_SIGNATURE_ERROR, -209, "", true)                          \
-    M(OLAP_ERR_CATCH_EXCEPTION, -210, "", true)                          \
-    M(OLAP_ERR_PARSE_PROTOBUF_ERROR, -211, "", true)                     \
-    M(OLAP_ERR_SERIALIZE_PROTOBUF_ERROR, -212, "", true)                 \
-    M(OLAP_ERR_WRITE_PROTOBUF_ERROR, -213, "", true)                     \
-    M(OLAP_ERR_VERSION_NOT_EXIST, -214, "", true)                        \
-    M(OLAP_ERR_TABLE_NOT_FOUND, -215, "", true)                          \
-    M(OLAP_ERR_TRY_LOCK_FAILED, -216, "", true)                          \
-    M(OLAP_ERR_OUT_OF_BOUND, -218, "", true)                             \
-    M(OLAP_ERR_UNDERFLOW, -219, "", true)                                \
-    M(OLAP_ERR_FILE_DATA_ERROR, -220, "", true)                          \
-    M(OLAP_ERR_TEST_FILE_ERROR, -221, "", true)                          \
-    M(OLAP_ERR_INVALID_ROOT_PATH, -222, "", true)                        \
-    M(OLAP_ERR_NO_AVAILABLE_ROOT_PATH, -223, "", true)                   \
-    M(OLAP_ERR_CHECK_LINES_ERROR, -224, "", true)                        \
-    M(OLAP_ERR_INVALID_CLUSTER_INFO, -225, "", true)                     \
-    M(OLAP_ERR_TRANSACTION_NOT_EXIST, -226, "", true)                    \
-    M(OLAP_ERR_DISK_FAILURE, -227, "", true)                             \
-    M(OLAP_ERR_TRANSACTION_ALREADY_COMMITTED, -228, "", true)            \
-    M(OLAP_ERR_TRANSACTION_ALREADY_VISIBLE, -229, "", true)              \
-    M(OLAP_ERR_VERSION_ALREADY_MERGED, -230, "", true)                   \
-    M(OLAP_ERR_LZO_DISABLED, -231, "", true)                             \
-    M(OLAP_ERR_DISK_REACH_CAPACITY_LIMIT, -232, "", true)                \
-    M(OLAP_ERR_TOO_MANY_TRANSACTIONS, -233, "", true)                    \
-    M(OLAP_ERR_INVALID_SNAPSHOT_VERSION, -234, "", true)                 \
-    M(OLAP_ERR_TOO_MANY_VERSION, -235, "", true)                         \
-    M(OLAP_ERR_NOT_INITIALIZED, -236, "", true)                          \
-    M(OLAP_ERR_ALREADY_CANCELLED, -237, "", true)                        \
-    M(OLAP_ERR_TOO_MANY_SEGMENTS, -238, "", true)                        \
-    M(OLAP_ERR_CE_CMD_PARAMS_ERROR, -300, "", true)                      \
-    M(OLAP_ERR_CE_BUFFER_TOO_SMALL, -301, "", true)                      \
-    M(OLAP_ERR_CE_CMD_NOT_VALID, -302, "", true)                         \
-    M(OLAP_ERR_CE_LOAD_TABLE_ERROR, -303, "", true)                      \
-    M(OLAP_ERR_CE_NOT_FINISHED, -304, "", true)                          \
-    M(OLAP_ERR_CE_TABLET_ID_EXIST, -305, "", true)                       \
-    M(OLAP_ERR_CE_TRY_CE_LOCK_ERROR, -306, "", false)                    \
-    M(OLAP_ERR_TABLE_VERSION_DUPLICATE_ERROR, -400, "", true)            \
-    M(OLAP_ERR_TABLE_VERSION_INDEX_MISMATCH_ERROR, -401, "", true)       \
-    M(OLAP_ERR_TABLE_INDEX_VALIDATE_ERROR, -402, "", true)               \
-    M(OLAP_ERR_TABLE_INDEX_FIND_ERROR, -403, "", true)                   \
-    M(OLAP_ERR_TABLE_CREATE_FROM_HEADER_ERROR, -404, "", true)           \
-    M(OLAP_ERR_TABLE_CREATE_META_ERROR, -405, "", true)                  \
-    M(OLAP_ERR_TABLE_ALREADY_DELETED_ERROR, -406, "", false)             \
-    M(OLAP_ERR_ENGINE_INSERT_EXISTS_TABLE, -500, "", true)               \
-    M(OLAP_ERR_ENGINE_DROP_NOEXISTS_TABLE, -501, "", true)               \
-    M(OLAP_ERR_ENGINE_LOAD_INDEX_TABLE_ERROR, -502, "", true)            \
-    M(OLAP_ERR_TABLE_INSERT_DUPLICATION_ERROR, -503, "", true)           \
-    M(OLAP_ERR_DELETE_VERSION_ERROR, -504, "", true)                     \
-    M(OLAP_ERR_GC_SCAN_PATH_ERROR, -505, "", true)                       \
-    M(OLAP_ERR_ENGINE_INSERT_OLD_TABLET, -506, "", true)                 \
-    M(OLAP_ERR_FETCH_OTHER_ERROR, -600, "", true)                        \
-    M(OLAP_ERR_FETCH_TABLE_NOT_EXIST, -601, "", true)                    \
-    M(OLAP_ERR_FETCH_VERSION_ERROR, -602, "", true)                      \
-    M(OLAP_ERR_FETCH_SCHEMA_ERROR, -603, "", true)                       \
-    M(OLAP_ERR_FETCH_COMPRESSION_ERROR, -604, "", true)                  \
-    M(OLAP_ERR_FETCH_CONTEXT_NOT_EXIST, -605, "", true)                  \
-    M(OLAP_ERR_FETCH_GET_READER_PARAMS_ERR, -606, "", true)              \
-    M(OLAP_ERR_FETCH_SAVE_SESSION_ERR, -607, "", true)                   \
-    M(OLAP_ERR_FETCH_MEMORY_EXCEEDED, -608, "", true)                    \
-    M(OLAP_ERR_READER_IS_UNINITIALIZED, -700, "", true)                  \
-    M(OLAP_ERR_READER_GET_ITERATOR_ERROR, -701, "", true)                \
-    M(OLAP_ERR_CAPTURE_ROWSET_READER_ERROR, -702, "", true)              \
-    M(OLAP_ERR_READER_READING_ERROR, -703, "", true)                     \
-    M(OLAP_ERR_READER_INITIALIZE_ERROR, -704, "", true)                  \
-    M(OLAP_ERR_BE_VERSION_NOT_MATCH, -800, "", true)                     \
-    M(OLAP_ERR_BE_REPLACE_VERSIONS_ERROR, -801, "", true)                \
-    M(OLAP_ERR_BE_MERGE_ERROR, -802, "", true)                           \
-    M(OLAP_ERR_CAPTURE_ROWSET_ERROR, -804, "", true)                     \
-    M(OLAP_ERR_BE_SAVE_HEADER_ERROR, -805, "", true)                     \
-    M(OLAP_ERR_BE_INIT_OLAP_DATA, -806, "", true)                        \
-    M(OLAP_ERR_BE_TRY_OBTAIN_VERSION_LOCKS, -807, "", true)              \
-    M(OLAP_ERR_BE_NO_SUITABLE_VERSION, -808, "", false)                  \
-    M(OLAP_ERR_BE_TRY_BE_LOCK_ERROR, -809, "", true)                     \
-    M(OLAP_ERR_BE_INVALID_NEED_MERGED_VERSIONS, -810, "", true)          \
-    M(OLAP_ERR_BE_ERROR_DELETE_ACTION, -811, "", true)                   \
-    M(OLAP_ERR_BE_SEGMENTS_OVERLAPPING, -812, "", true)                  \
-    M(OLAP_ERR_BE_CLONE_OCCURRED, -813, "", true)                        \
-    M(OLAP_ERR_PUSH_INIT_ERROR, -900, "", true)                          \
-    M(OLAP_ERR_PUSH_DELTA_FILE_EOF, -901, "", false)                     \
-    M(OLAP_ERR_PUSH_VERSION_INCORRECT, -902, "", true)                   \
-    M(OLAP_ERR_PUSH_SCHEMA_MISMATCH, -903, "", true)                     \
-    M(OLAP_ERR_PUSH_CHECKSUM_ERROR, -904, "", true)                      \
-    M(OLAP_ERR_PUSH_ACQUIRE_DATASOURCE_ERROR, -905, "", true)            \
-    M(OLAP_ERR_PUSH_CREAT_CUMULATIVE_ERROR, -906, "", true)              \
-    M(OLAP_ERR_PUSH_BUILD_DELTA_ERROR, -907, "", true)                   \
-    M(OLAP_ERR_PUSH_VERSION_ALREADY_EXIST, -908, "", true)               \
-    M(OLAP_ERR_PUSH_TABLE_NOT_EXIST, -909, "", true)                     \
-    M(OLAP_ERR_PUSH_INPUT_DATA_ERROR, -910, "", true)                    \
-    M(OLAP_ERR_PUSH_TRANSACTION_ALREADY_EXIST, -911, "", true)           \
-    M(OLAP_ERR_PUSH_BATCH_PROCESS_REMOVED, -912, "", true)               \
-    M(OLAP_ERR_PUSH_COMMIT_ROWSET, -913, "", true)                       \
-    M(OLAP_ERR_PUSH_ROWSET_NOT_FOUND, -914, "", true)                    \
-    M(OLAP_ERR_INDEX_LOAD_ERROR, -1000, "", true)                        \
-    M(OLAP_ERR_INDEX_EOF, -1001, "", false)                              \
-    M(OLAP_ERR_INDEX_CHECKSUM_ERROR, -1002, "", true)                    \
-    M(OLAP_ERR_INDEX_DELTA_PRUNING, -1003, "", true)                     \
-    M(OLAP_ERR_DATA_ROW_BLOCK_ERROR, -1100, "", true)                    \
-    M(OLAP_ERR_DATA_FILE_TYPE_ERROR, -1101, "", true)                    \
-    M(OLAP_ERR_DATA_EOF, -1102, "", false)                               \
-    M(OLAP_ERR_WRITER_INDEX_WRITE_ERROR, -1200, "", true)                \
-    M(OLAP_ERR_WRITER_DATA_WRITE_ERROR, -1201, "", true)                 \
-    M(OLAP_ERR_WRITER_ROW_BLOCK_ERROR, -1202, "", true)                  \
-    M(OLAP_ERR_WRITER_SEGMENT_NOT_FINALIZED, -1203, "", true)            \
-    M(OLAP_ERR_ROWBLOCK_DECOMPRESS_ERROR, -1300, "", true)               \
-    M(OLAP_ERR_ROWBLOCK_FIND_ROW_EXCEPTION, -1301, "", true)             \
-    M(OLAP_ERR_ROWBLOCK_READ_INFO_ERROR, -1302, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_VERSION, -1400, "", true)                      \
-    M(OLAP_ERR_HEADER_DELETE_VERSION, -1401, "", true)                   \
-    M(OLAP_ERR_HEADER_ADD_PENDING_DELTA, -1402, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_INCREMENTAL_VERSION, -1403, "", true)          \
-    M(OLAP_ERR_HEADER_INVALID_FLAG, -1404, "", true)                     \
-    M(OLAP_ERR_HEADER_PUT, -1405, "", true)                              \
-    M(OLAP_ERR_HEADER_DELETE, -1406, "", true)                           \
-    M(OLAP_ERR_HEADER_GET, -1407, "", true)                              \
-    M(OLAP_ERR_HEADER_LOAD_INVALID_KEY, -1408, "", true)                 \
-    M(OLAP_ERR_HEADER_FLAG_PUT, -1409, "", true)                         \
-    M(OLAP_ERR_HEADER_LOAD_JSON_HEADER, -1410, "", true)                 \
-    M(OLAP_ERR_HEADER_INIT_FAILED, -1411, "", true)                      \
-    M(OLAP_ERR_HEADER_PB_PARSE_FAILED, -1412, "", true)                  \
-    M(OLAP_ERR_HEADER_HAS_PENDING_DATA, -1413, "", false)                \
-    M(OLAP_ERR_SCHEMA_SCHEMA_INVALID, -1500, "", false)                  \
-    M(OLAP_ERR_SCHEMA_SCHEMA_FIELD_INVALID, -1501, "", true)             \
-    M(OLAP_ERR_ALTER_MULTI_TABLE_ERR, -1600, "", true)                   \
-    M(OLAP_ERR_ALTER_DELTA_DOES_NOT_EXISTS, -1601, "", true)             \
-    M(OLAP_ERR_ALTER_STATUS_ERR, -1602, "", true)                        \
-    M(OLAP_ERR_PREVIOUS_SCHEMA_CHANGE_NOT_FINISHED, -1603, "", true)     \
-    M(OLAP_ERR_SCHEMA_CHANGE_INFO_INVALID, -1604, "", true)              \
-    M(OLAP_ERR_QUERY_SPLIT_KEY_ERR, -1605, "", true)                     \
-    M(OLAP_ERR_DATA_QUALITY_ERR, -1606, "", true)                        \
-    M(OLAP_ERR_COLUMN_DATA_LOAD_BLOCK, -1700, "", true)                  \
-    M(OLAP_ERR_COLUMN_DATA_RECORD_INDEX, -1701, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_MAKE_FILE_HEADER, -1702, "", true)            \
-    M(OLAP_ERR_COLUMN_DATA_READ_VAR_INT, -1703, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_PATCH_LIST_NUM, -1704, "", true)              \
-    M(OLAP_ERR_COLUMN_STREAM_EOF, -1705, "", false)                      \
-    M(OLAP_ERR_COLUMN_READ_STREAM, -1706, "", true)                      \
-    M(OLAP_ERR_COLUMN_STREAM_NOT_EXIST, -1716, "", true)                 \
-    M(OLAP_ERR_COLUMN_VALUE_NULL, -1717, "", true)                       \
-    M(OLAP_ERR_COLUMN_SEEK_ERROR, -1719, "", true)                       \
-    M(OLAP_ERR_DELETE_INVALID_CONDITION, -1900, "", true)                \
-    M(OLAP_ERR_DELETE_UPDATE_HEADER_FAILED, -1901, "", true)             \
-    M(OLAP_ERR_DELETE_SAVE_HEADER_FAILED, -1902, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_PARAMETERS, -1903, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_VERSION, -1904, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_NO_SUITABLE_VERSION, -2000, "", false)         \
-    M(OLAP_ERR_CUMULATIVE_REPEAT_INIT, -2001, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_INVALID_PARAMETERS, -2002, "", true)           \
-    M(OLAP_ERR_CUMULATIVE_FAILED_ACQUIRE_DATA_SOURCE, -2003, "", true)   \
-    M(OLAP_ERR_CUMULATIVE_INVALID_NEED_MERGED_VERSIONS, -2004, "", true) \
-    M(OLAP_ERR_CUMULATIVE_ERROR_DELETE_ACTION, -2005, "", true)          \
-    M(OLAP_ERR_CUMULATIVE_MISS_VERSION, -2006, "", true)                 \
-    M(OLAP_ERR_CUMULATIVE_CLONE_OCCURRED, -2007, "", true)               \
-    M(OLAP_ERR_META_INVALID_ARGUMENT, -3000, "", true)                   \
-    M(OLAP_ERR_META_OPEN_DB, -3001, "", true)                            \
-    M(OLAP_ERR_META_KEY_NOT_FOUND, -3002, "", true)                      \
-    M(OLAP_ERR_META_GET, -3003, "", true)                                \
-    M(OLAP_ERR_META_PUT, -3004, "", true)                                \
-    M(OLAP_ERR_META_ITERATOR, -3005, "", true)                           \
-    M(OLAP_ERR_META_DELETE, -3006, "", true)                             \
-    M(OLAP_ERR_META_ALREADY_EXIST, -3007, "", true)                      \
-    M(OLAP_ERR_ROWSET_WRITER_INIT, -3100, "", true)                      \
-    M(OLAP_ERR_ROWSET_SAVE_FAILED, -3101, "", true)                      \
-    M(OLAP_ERR_ROWSET_GENERATE_ID_FAILED, -3102, "", true)               \
-    M(OLAP_ERR_ROWSET_DELETE_FILE_FAILED, -3103, "", true)               \
-    M(OLAP_ERR_ROWSET_BUILDER_INIT, -3104, "", true)                     \
-    M(OLAP_ERR_ROWSET_TYPE_NOT_FOUND, -3105, "", true)                   \
-    M(OLAP_ERR_ROWSET_ALREADY_EXIST, -3106, "", true)                    \
-    M(OLAP_ERR_ROWSET_CREATE_READER, -3107, "", true)                    \
-    M(OLAP_ERR_ROWSET_INVALID, -3108, "", true)                          \
-    M(OLAP_ERR_ROWSET_LOAD_FAILED, -3109, "", true)                      \
-    M(OLAP_ERR_ROWSET_READER_INIT, -3110, "", true)                      \
-    M(OLAP_ERR_ROWSET_READ_FAILED, -3111, "", true)                      \
-    M(OLAP_ERR_ROWSET_INVALID_STATE_TRANSITION, -3112, "", true)         \
-    M(OLAP_ERR_STRING_OVERFLOW_IN_VEC_ENGINE, -3113, "", true)           \
-    M(OLAP_ERR_ROWSET_ADD_MIGRATION_V2, -3114, "", true)                 \
-    M(OLAP_ERR_PUBLISH_VERSION_NOT_CONTINUOUS, -3115, "", false)         \
-    M(OLAP_ERR_ROWSET_RENAME_FILE_FAILED, -3116, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_READER, -3117, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_WRITER, -3118, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_FAILED, -3119, "", false)
-
-enum ErrorCode {
-#define M(NAME, ERRORCODE, DESC, STACKTRACEENABLED) NAME = ERRORCODE,
-    APPLY_FOR_ERROR_CODES(M)
-#undef M
-};
+namespace ErrorCode {
+#define E(name, code) static constexpr int name = code
+E(OK, 0);
+#define TStatusError(name) E(name, TStatusCode::name)
+// Errors defined in TStatus
+TStatusError(PUBLISH_TIMEOUT);
+TStatusError(MEM_ALLOC_FAILED);
+TStatusError(BUFFER_ALLOCATION_FAILED);
+TStatusError(INVALID_ARGUMENT);
+TStatusError(MINIMUM_RESERVATION_UNAVAILABLE);
+TStatusError(CORRUPTION);
+TStatusError(IO_ERROR);
+TStatusError(NOT_FOUND);
+TStatusError(ALREADY_EXIST);
+TStatusError(NOT_IMPLEMENTED_ERROR);
+TStatusError(END_OF_FILE);
+TStatusError(INTERNAL_ERROR);
+TStatusError(RUNTIME_ERROR);
+TStatusError(CANCELLED);
+TStatusError(MEM_LIMIT_EXCEEDED);
+TStatusError(THRIFT_RPC_ERROR);
+TStatusError(TIMEOUT);
+TStatusError(TOO_MANY_TASKS);
+TStatusError(SERVICE_UNAVAILABLE);
+TStatusError(UNINITIALIZED);
+TStatusError(ABORTED);
+TStatusError(DATA_QUALITY_ERROR);
+TStatusError(LABEL_ALREADY_EXISTS);
+#undef TStatusError
+// BE internal errors
+E(OS_ERROR, -100);
+E(DIR_NOT_EXIST, -101);
+E(FILE_NOT_EXIST, -102);
+E(CREATE_FILE_ERROR, -103);
+E(STL_ERROR, -105);
+E(MUTEX_ERROR, -107);
+E(PTHREAD_ERROR, -108);
+E(NETWORK_ERROR, -109);
+E(UB_FUNC_ERROR, -110);
+E(COMPRESS_ERROR, -111);
+E(DECOMPRESS_ERROR, -112);
+E(UNKNOWN_COMPRESSION_TYPE, -113);
+E(MMAP_ERROR, -114);

Review Comment:
   warning: unused variable 'MMAP_ERROR' [clang-diagnostic-unused-const-variable]
   ```cpp
   E(MMAP_ERROR, -114);
     ^
   ```
   



##########
be/src/common/status.h:
##########
@@ -12,249 +12,283 @@
 #include <string_view>
 
 #include "common/compiler_util.h"
-#include "common/logging.h"
 #include "gen_cpp/Status_types.h" // for TStatus
+#ifdef ENABLE_STACKTRACE
+#include "util/stack_util.h"
+#endif
 
 namespace doris {
 
 class PStatus;
 
-// ErrorName, ErrorCode, String Description, Should print stacktrace
-#define APPLY_FOR_ERROR_CODES(M)                                         \
-    M(OLAP_SUCCESS, 0, "", false)                                        \
-    M(OLAP_ERR_OTHER_ERROR, -1, "", true)                                \
-    M(OLAP_REQUEST_FAILED, -2, "", false)                                \
-    M(OLAP_ERR_OS_ERROR, -100, "", true)                                 \
-    M(OLAP_ERR_DIR_NOT_EXIST, -101, "", true)                            \
-    M(OLAP_ERR_FILE_NOT_EXIST, -102, "", true)                           \
-    M(OLAP_ERR_CREATE_FILE_ERROR, -103, "", true)                        \
-    M(OLAP_ERR_MALLOC_ERROR, -104, "", true)                             \
-    M(OLAP_ERR_STL_ERROR, -105, "", true)                                \
-    M(OLAP_ERR_IO_ERROR, -106, "", true)                                 \
-    M(OLAP_ERR_MUTEX_ERROR, -107, "", true)                              \
-    M(OLAP_ERR_PTHREAD_ERROR, -108, "", true)                            \
-    M(OLAP_ERR_NETWORK_ERROR, -109, "", true)                            \
-    M(OLAP_ERR_UB_FUNC_ERROR, -110, "", true)                            \
-    M(OLAP_ERR_COMPRESS_ERROR, -111, "", true)                           \
-    M(OLAP_ERR_DECOMPRESS_ERROR, -112, "", true)                         \
-    M(OLAP_ERR_UNKNOWN_COMPRESSION_TYPE, -113, "", true)                 \
-    M(OLAP_ERR_MMAP_ERROR, -114, "", true)                               \
-    M(OLAP_ERR_RWLOCK_ERROR, -115, "", true)                             \
-    M(OLAP_ERR_READ_UNENOUGH, -116, "", true)                            \
-    M(OLAP_ERR_CANNOT_CREATE_DIR, -117, "", true)                        \
-    M(OLAP_ERR_UB_NETWORK_ERROR, -118, "", true)                         \
-    M(OLAP_ERR_FILE_FORMAT_ERROR, -119, "", true)                        \
-    M(OLAP_ERR_EVAL_CONJUNCTS_ERROR, -120, "", true)                     \
-    M(OLAP_ERR_COPY_FILE_ERROR, -121, "", true)                          \
-    M(OLAP_ERR_FILE_ALREADY_EXIST, -122, "", true)                       \
-    M(OLAP_ERR_NOT_INITED, -200, "", true)                               \
-    M(OLAP_ERR_FUNC_NOT_IMPLEMENTED, -201, "", true)                     \
-    M(OLAP_ERR_CALL_SEQUENCE_ERROR, -202, "", true)                      \
-    M(OLAP_ERR_INPUT_PARAMETER_ERROR, -203, "", true)                    \
-    M(OLAP_ERR_BUFFER_OVERFLOW, -204, "", true)                          \
-    M(OLAP_ERR_CONFIG_ERROR, -205, "", true)                             \
-    M(OLAP_ERR_INIT_FAILED, -206, "", true)                              \
-    M(OLAP_ERR_INVALID_SCHEMA, -207, "", true)                           \
-    M(OLAP_ERR_CHECKSUM_ERROR, -208, "", true)                           \
-    M(OLAP_ERR_SIGNATURE_ERROR, -209, "", true)                          \
-    M(OLAP_ERR_CATCH_EXCEPTION, -210, "", true)                          \
-    M(OLAP_ERR_PARSE_PROTOBUF_ERROR, -211, "", true)                     \
-    M(OLAP_ERR_SERIALIZE_PROTOBUF_ERROR, -212, "", true)                 \
-    M(OLAP_ERR_WRITE_PROTOBUF_ERROR, -213, "", true)                     \
-    M(OLAP_ERR_VERSION_NOT_EXIST, -214, "", true)                        \
-    M(OLAP_ERR_TABLE_NOT_FOUND, -215, "", true)                          \
-    M(OLAP_ERR_TRY_LOCK_FAILED, -216, "", true)                          \
-    M(OLAP_ERR_OUT_OF_BOUND, -218, "", true)                             \
-    M(OLAP_ERR_UNDERFLOW, -219, "", true)                                \
-    M(OLAP_ERR_FILE_DATA_ERROR, -220, "", true)                          \
-    M(OLAP_ERR_TEST_FILE_ERROR, -221, "", true)                          \
-    M(OLAP_ERR_INVALID_ROOT_PATH, -222, "", true)                        \
-    M(OLAP_ERR_NO_AVAILABLE_ROOT_PATH, -223, "", true)                   \
-    M(OLAP_ERR_CHECK_LINES_ERROR, -224, "", true)                        \
-    M(OLAP_ERR_INVALID_CLUSTER_INFO, -225, "", true)                     \
-    M(OLAP_ERR_TRANSACTION_NOT_EXIST, -226, "", true)                    \
-    M(OLAP_ERR_DISK_FAILURE, -227, "", true)                             \
-    M(OLAP_ERR_TRANSACTION_ALREADY_COMMITTED, -228, "", true)            \
-    M(OLAP_ERR_TRANSACTION_ALREADY_VISIBLE, -229, "", true)              \
-    M(OLAP_ERR_VERSION_ALREADY_MERGED, -230, "", true)                   \
-    M(OLAP_ERR_LZO_DISABLED, -231, "", true)                             \
-    M(OLAP_ERR_DISK_REACH_CAPACITY_LIMIT, -232, "", true)                \
-    M(OLAP_ERR_TOO_MANY_TRANSACTIONS, -233, "", true)                    \
-    M(OLAP_ERR_INVALID_SNAPSHOT_VERSION, -234, "", true)                 \
-    M(OLAP_ERR_TOO_MANY_VERSION, -235, "", true)                         \
-    M(OLAP_ERR_NOT_INITIALIZED, -236, "", true)                          \
-    M(OLAP_ERR_ALREADY_CANCELLED, -237, "", true)                        \
-    M(OLAP_ERR_TOO_MANY_SEGMENTS, -238, "", true)                        \
-    M(OLAP_ERR_CE_CMD_PARAMS_ERROR, -300, "", true)                      \
-    M(OLAP_ERR_CE_BUFFER_TOO_SMALL, -301, "", true)                      \
-    M(OLAP_ERR_CE_CMD_NOT_VALID, -302, "", true)                         \
-    M(OLAP_ERR_CE_LOAD_TABLE_ERROR, -303, "", true)                      \
-    M(OLAP_ERR_CE_NOT_FINISHED, -304, "", true)                          \
-    M(OLAP_ERR_CE_TABLET_ID_EXIST, -305, "", true)                       \
-    M(OLAP_ERR_CE_TRY_CE_LOCK_ERROR, -306, "", false)                    \
-    M(OLAP_ERR_TABLE_VERSION_DUPLICATE_ERROR, -400, "", true)            \
-    M(OLAP_ERR_TABLE_VERSION_INDEX_MISMATCH_ERROR, -401, "", true)       \
-    M(OLAP_ERR_TABLE_INDEX_VALIDATE_ERROR, -402, "", true)               \
-    M(OLAP_ERR_TABLE_INDEX_FIND_ERROR, -403, "", true)                   \
-    M(OLAP_ERR_TABLE_CREATE_FROM_HEADER_ERROR, -404, "", true)           \
-    M(OLAP_ERR_TABLE_CREATE_META_ERROR, -405, "", true)                  \
-    M(OLAP_ERR_TABLE_ALREADY_DELETED_ERROR, -406, "", false)             \
-    M(OLAP_ERR_ENGINE_INSERT_EXISTS_TABLE, -500, "", true)               \
-    M(OLAP_ERR_ENGINE_DROP_NOEXISTS_TABLE, -501, "", true)               \
-    M(OLAP_ERR_ENGINE_LOAD_INDEX_TABLE_ERROR, -502, "", true)            \
-    M(OLAP_ERR_TABLE_INSERT_DUPLICATION_ERROR, -503, "", true)           \
-    M(OLAP_ERR_DELETE_VERSION_ERROR, -504, "", true)                     \
-    M(OLAP_ERR_GC_SCAN_PATH_ERROR, -505, "", true)                       \
-    M(OLAP_ERR_ENGINE_INSERT_OLD_TABLET, -506, "", true)                 \
-    M(OLAP_ERR_FETCH_OTHER_ERROR, -600, "", true)                        \
-    M(OLAP_ERR_FETCH_TABLE_NOT_EXIST, -601, "", true)                    \
-    M(OLAP_ERR_FETCH_VERSION_ERROR, -602, "", true)                      \
-    M(OLAP_ERR_FETCH_SCHEMA_ERROR, -603, "", true)                       \
-    M(OLAP_ERR_FETCH_COMPRESSION_ERROR, -604, "", true)                  \
-    M(OLAP_ERR_FETCH_CONTEXT_NOT_EXIST, -605, "", true)                  \
-    M(OLAP_ERR_FETCH_GET_READER_PARAMS_ERR, -606, "", true)              \
-    M(OLAP_ERR_FETCH_SAVE_SESSION_ERR, -607, "", true)                   \
-    M(OLAP_ERR_FETCH_MEMORY_EXCEEDED, -608, "", true)                    \
-    M(OLAP_ERR_READER_IS_UNINITIALIZED, -700, "", true)                  \
-    M(OLAP_ERR_READER_GET_ITERATOR_ERROR, -701, "", true)                \
-    M(OLAP_ERR_CAPTURE_ROWSET_READER_ERROR, -702, "", true)              \
-    M(OLAP_ERR_READER_READING_ERROR, -703, "", true)                     \
-    M(OLAP_ERR_READER_INITIALIZE_ERROR, -704, "", true)                  \
-    M(OLAP_ERR_BE_VERSION_NOT_MATCH, -800, "", true)                     \
-    M(OLAP_ERR_BE_REPLACE_VERSIONS_ERROR, -801, "", true)                \
-    M(OLAP_ERR_BE_MERGE_ERROR, -802, "", true)                           \
-    M(OLAP_ERR_CAPTURE_ROWSET_ERROR, -804, "", true)                     \
-    M(OLAP_ERR_BE_SAVE_HEADER_ERROR, -805, "", true)                     \
-    M(OLAP_ERR_BE_INIT_OLAP_DATA, -806, "", true)                        \
-    M(OLAP_ERR_BE_TRY_OBTAIN_VERSION_LOCKS, -807, "", true)              \
-    M(OLAP_ERR_BE_NO_SUITABLE_VERSION, -808, "", false)                  \
-    M(OLAP_ERR_BE_TRY_BE_LOCK_ERROR, -809, "", true)                     \
-    M(OLAP_ERR_BE_INVALID_NEED_MERGED_VERSIONS, -810, "", true)          \
-    M(OLAP_ERR_BE_ERROR_DELETE_ACTION, -811, "", true)                   \
-    M(OLAP_ERR_BE_SEGMENTS_OVERLAPPING, -812, "", true)                  \
-    M(OLAP_ERR_BE_CLONE_OCCURRED, -813, "", true)                        \
-    M(OLAP_ERR_PUSH_INIT_ERROR, -900, "", true)                          \
-    M(OLAP_ERR_PUSH_DELTA_FILE_EOF, -901, "", false)                     \
-    M(OLAP_ERR_PUSH_VERSION_INCORRECT, -902, "", true)                   \
-    M(OLAP_ERR_PUSH_SCHEMA_MISMATCH, -903, "", true)                     \
-    M(OLAP_ERR_PUSH_CHECKSUM_ERROR, -904, "", true)                      \
-    M(OLAP_ERR_PUSH_ACQUIRE_DATASOURCE_ERROR, -905, "", true)            \
-    M(OLAP_ERR_PUSH_CREAT_CUMULATIVE_ERROR, -906, "", true)              \
-    M(OLAP_ERR_PUSH_BUILD_DELTA_ERROR, -907, "", true)                   \
-    M(OLAP_ERR_PUSH_VERSION_ALREADY_EXIST, -908, "", true)               \
-    M(OLAP_ERR_PUSH_TABLE_NOT_EXIST, -909, "", true)                     \
-    M(OLAP_ERR_PUSH_INPUT_DATA_ERROR, -910, "", true)                    \
-    M(OLAP_ERR_PUSH_TRANSACTION_ALREADY_EXIST, -911, "", true)           \
-    M(OLAP_ERR_PUSH_BATCH_PROCESS_REMOVED, -912, "", true)               \
-    M(OLAP_ERR_PUSH_COMMIT_ROWSET, -913, "", true)                       \
-    M(OLAP_ERR_PUSH_ROWSET_NOT_FOUND, -914, "", true)                    \
-    M(OLAP_ERR_INDEX_LOAD_ERROR, -1000, "", true)                        \
-    M(OLAP_ERR_INDEX_EOF, -1001, "", false)                              \
-    M(OLAP_ERR_INDEX_CHECKSUM_ERROR, -1002, "", true)                    \
-    M(OLAP_ERR_INDEX_DELTA_PRUNING, -1003, "", true)                     \
-    M(OLAP_ERR_DATA_ROW_BLOCK_ERROR, -1100, "", true)                    \
-    M(OLAP_ERR_DATA_FILE_TYPE_ERROR, -1101, "", true)                    \
-    M(OLAP_ERR_DATA_EOF, -1102, "", false)                               \
-    M(OLAP_ERR_WRITER_INDEX_WRITE_ERROR, -1200, "", true)                \
-    M(OLAP_ERR_WRITER_DATA_WRITE_ERROR, -1201, "", true)                 \
-    M(OLAP_ERR_WRITER_ROW_BLOCK_ERROR, -1202, "", true)                  \
-    M(OLAP_ERR_WRITER_SEGMENT_NOT_FINALIZED, -1203, "", true)            \
-    M(OLAP_ERR_ROWBLOCK_DECOMPRESS_ERROR, -1300, "", true)               \
-    M(OLAP_ERR_ROWBLOCK_FIND_ROW_EXCEPTION, -1301, "", true)             \
-    M(OLAP_ERR_ROWBLOCK_READ_INFO_ERROR, -1302, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_VERSION, -1400, "", true)                      \
-    M(OLAP_ERR_HEADER_DELETE_VERSION, -1401, "", true)                   \
-    M(OLAP_ERR_HEADER_ADD_PENDING_DELTA, -1402, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_INCREMENTAL_VERSION, -1403, "", true)          \
-    M(OLAP_ERR_HEADER_INVALID_FLAG, -1404, "", true)                     \
-    M(OLAP_ERR_HEADER_PUT, -1405, "", true)                              \
-    M(OLAP_ERR_HEADER_DELETE, -1406, "", true)                           \
-    M(OLAP_ERR_HEADER_GET, -1407, "", true)                              \
-    M(OLAP_ERR_HEADER_LOAD_INVALID_KEY, -1408, "", true)                 \
-    M(OLAP_ERR_HEADER_FLAG_PUT, -1409, "", true)                         \
-    M(OLAP_ERR_HEADER_LOAD_JSON_HEADER, -1410, "", true)                 \
-    M(OLAP_ERR_HEADER_INIT_FAILED, -1411, "", true)                      \
-    M(OLAP_ERR_HEADER_PB_PARSE_FAILED, -1412, "", true)                  \
-    M(OLAP_ERR_HEADER_HAS_PENDING_DATA, -1413, "", false)                \
-    M(OLAP_ERR_SCHEMA_SCHEMA_INVALID, -1500, "", false)                  \
-    M(OLAP_ERR_SCHEMA_SCHEMA_FIELD_INVALID, -1501, "", true)             \
-    M(OLAP_ERR_ALTER_MULTI_TABLE_ERR, -1600, "", true)                   \
-    M(OLAP_ERR_ALTER_DELTA_DOES_NOT_EXISTS, -1601, "", true)             \
-    M(OLAP_ERR_ALTER_STATUS_ERR, -1602, "", true)                        \
-    M(OLAP_ERR_PREVIOUS_SCHEMA_CHANGE_NOT_FINISHED, -1603, "", true)     \
-    M(OLAP_ERR_SCHEMA_CHANGE_INFO_INVALID, -1604, "", true)              \
-    M(OLAP_ERR_QUERY_SPLIT_KEY_ERR, -1605, "", true)                     \
-    M(OLAP_ERR_DATA_QUALITY_ERR, -1606, "", true)                        \
-    M(OLAP_ERR_COLUMN_DATA_LOAD_BLOCK, -1700, "", true)                  \
-    M(OLAP_ERR_COLUMN_DATA_RECORD_INDEX, -1701, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_MAKE_FILE_HEADER, -1702, "", true)            \
-    M(OLAP_ERR_COLUMN_DATA_READ_VAR_INT, -1703, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_PATCH_LIST_NUM, -1704, "", true)              \
-    M(OLAP_ERR_COLUMN_STREAM_EOF, -1705, "", false)                      \
-    M(OLAP_ERR_COLUMN_READ_STREAM, -1706, "", true)                      \
-    M(OLAP_ERR_COLUMN_STREAM_NOT_EXIST, -1716, "", true)                 \
-    M(OLAP_ERR_COLUMN_VALUE_NULL, -1717, "", true)                       \
-    M(OLAP_ERR_COLUMN_SEEK_ERROR, -1719, "", true)                       \
-    M(OLAP_ERR_DELETE_INVALID_CONDITION, -1900, "", true)                \
-    M(OLAP_ERR_DELETE_UPDATE_HEADER_FAILED, -1901, "", true)             \
-    M(OLAP_ERR_DELETE_SAVE_HEADER_FAILED, -1902, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_PARAMETERS, -1903, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_VERSION, -1904, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_NO_SUITABLE_VERSION, -2000, "", false)         \
-    M(OLAP_ERR_CUMULATIVE_REPEAT_INIT, -2001, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_INVALID_PARAMETERS, -2002, "", true)           \
-    M(OLAP_ERR_CUMULATIVE_FAILED_ACQUIRE_DATA_SOURCE, -2003, "", true)   \
-    M(OLAP_ERR_CUMULATIVE_INVALID_NEED_MERGED_VERSIONS, -2004, "", true) \
-    M(OLAP_ERR_CUMULATIVE_ERROR_DELETE_ACTION, -2005, "", true)          \
-    M(OLAP_ERR_CUMULATIVE_MISS_VERSION, -2006, "", true)                 \
-    M(OLAP_ERR_CUMULATIVE_CLONE_OCCURRED, -2007, "", true)               \
-    M(OLAP_ERR_META_INVALID_ARGUMENT, -3000, "", true)                   \
-    M(OLAP_ERR_META_OPEN_DB, -3001, "", true)                            \
-    M(OLAP_ERR_META_KEY_NOT_FOUND, -3002, "", true)                      \
-    M(OLAP_ERR_META_GET, -3003, "", true)                                \
-    M(OLAP_ERR_META_PUT, -3004, "", true)                                \
-    M(OLAP_ERR_META_ITERATOR, -3005, "", true)                           \
-    M(OLAP_ERR_META_DELETE, -3006, "", true)                             \
-    M(OLAP_ERR_META_ALREADY_EXIST, -3007, "", true)                      \
-    M(OLAP_ERR_ROWSET_WRITER_INIT, -3100, "", true)                      \
-    M(OLAP_ERR_ROWSET_SAVE_FAILED, -3101, "", true)                      \
-    M(OLAP_ERR_ROWSET_GENERATE_ID_FAILED, -3102, "", true)               \
-    M(OLAP_ERR_ROWSET_DELETE_FILE_FAILED, -3103, "", true)               \
-    M(OLAP_ERR_ROWSET_BUILDER_INIT, -3104, "", true)                     \
-    M(OLAP_ERR_ROWSET_TYPE_NOT_FOUND, -3105, "", true)                   \
-    M(OLAP_ERR_ROWSET_ALREADY_EXIST, -3106, "", true)                    \
-    M(OLAP_ERR_ROWSET_CREATE_READER, -3107, "", true)                    \
-    M(OLAP_ERR_ROWSET_INVALID, -3108, "", true)                          \
-    M(OLAP_ERR_ROWSET_LOAD_FAILED, -3109, "", true)                      \
-    M(OLAP_ERR_ROWSET_READER_INIT, -3110, "", true)                      \
-    M(OLAP_ERR_ROWSET_READ_FAILED, -3111, "", true)                      \
-    M(OLAP_ERR_ROWSET_INVALID_STATE_TRANSITION, -3112, "", true)         \
-    M(OLAP_ERR_STRING_OVERFLOW_IN_VEC_ENGINE, -3113, "", true)           \
-    M(OLAP_ERR_ROWSET_ADD_MIGRATION_V2, -3114, "", true)                 \
-    M(OLAP_ERR_PUBLISH_VERSION_NOT_CONTINUOUS, -3115, "", false)         \
-    M(OLAP_ERR_ROWSET_RENAME_FILE_FAILED, -3116, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_READER, -3117, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_WRITER, -3118, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_FAILED, -3119, "", false)
-
-enum ErrorCode {
-#define M(NAME, ERRORCODE, DESC, STACKTRACEENABLED) NAME = ERRORCODE,
-    APPLY_FOR_ERROR_CODES(M)
-#undef M
-};
+namespace ErrorCode {
+#define E(name, code) static constexpr int name = code
+E(OK, 0);
+#define TStatusError(name) E(name, TStatusCode::name)
+// Errors defined in TStatus
+TStatusError(PUBLISH_TIMEOUT);
+TStatusError(MEM_ALLOC_FAILED);
+TStatusError(BUFFER_ALLOCATION_FAILED);
+TStatusError(INVALID_ARGUMENT);
+TStatusError(MINIMUM_RESERVATION_UNAVAILABLE);
+TStatusError(CORRUPTION);
+TStatusError(IO_ERROR);
+TStatusError(NOT_FOUND);
+TStatusError(ALREADY_EXIST);
+TStatusError(NOT_IMPLEMENTED_ERROR);
+TStatusError(END_OF_FILE);
+TStatusError(INTERNAL_ERROR);
+TStatusError(RUNTIME_ERROR);
+TStatusError(CANCELLED);
+TStatusError(MEM_LIMIT_EXCEEDED);
+TStatusError(THRIFT_RPC_ERROR);
+TStatusError(TIMEOUT);
+TStatusError(TOO_MANY_TASKS);
+TStatusError(SERVICE_UNAVAILABLE);
+TStatusError(UNINITIALIZED);
+TStatusError(ABORTED);
+TStatusError(DATA_QUALITY_ERROR);
+TStatusError(LABEL_ALREADY_EXISTS);
+#undef TStatusError
+// BE internal errors
+E(OS_ERROR, -100);
+E(DIR_NOT_EXIST, -101);
+E(FILE_NOT_EXIST, -102);
+E(CREATE_FILE_ERROR, -103);
+E(STL_ERROR, -105);
+E(MUTEX_ERROR, -107);
+E(PTHREAD_ERROR, -108);
+E(NETWORK_ERROR, -109);
+E(UB_FUNC_ERROR, -110);
+E(COMPRESS_ERROR, -111);
+E(DECOMPRESS_ERROR, -112);
+E(UNKNOWN_COMPRESSION_TYPE, -113);

Review Comment:
   warning: unused variable 'UNKNOWN_COMPRESSION_TYPE' [clang-diagnostic-unused-const-variable]
   ```cpp
   E(UNKNOWN_COMPRESSION_TYPE, -113);
     ^
   ```
   



##########
be/src/common/status.h:
##########
@@ -12,249 +12,283 @@
 #include <string_view>
 
 #include "common/compiler_util.h"
-#include "common/logging.h"
 #include "gen_cpp/Status_types.h" // for TStatus
+#ifdef ENABLE_STACKTRACE
+#include "util/stack_util.h"
+#endif
 
 namespace doris {
 
 class PStatus;
 
-// ErrorName, ErrorCode, String Description, Should print stacktrace
-#define APPLY_FOR_ERROR_CODES(M)                                         \
-    M(OLAP_SUCCESS, 0, "", false)                                        \
-    M(OLAP_ERR_OTHER_ERROR, -1, "", true)                                \
-    M(OLAP_REQUEST_FAILED, -2, "", false)                                \
-    M(OLAP_ERR_OS_ERROR, -100, "", true)                                 \
-    M(OLAP_ERR_DIR_NOT_EXIST, -101, "", true)                            \
-    M(OLAP_ERR_FILE_NOT_EXIST, -102, "", true)                           \
-    M(OLAP_ERR_CREATE_FILE_ERROR, -103, "", true)                        \
-    M(OLAP_ERR_MALLOC_ERROR, -104, "", true)                             \
-    M(OLAP_ERR_STL_ERROR, -105, "", true)                                \
-    M(OLAP_ERR_IO_ERROR, -106, "", true)                                 \
-    M(OLAP_ERR_MUTEX_ERROR, -107, "", true)                              \
-    M(OLAP_ERR_PTHREAD_ERROR, -108, "", true)                            \
-    M(OLAP_ERR_NETWORK_ERROR, -109, "", true)                            \
-    M(OLAP_ERR_UB_FUNC_ERROR, -110, "", true)                            \
-    M(OLAP_ERR_COMPRESS_ERROR, -111, "", true)                           \
-    M(OLAP_ERR_DECOMPRESS_ERROR, -112, "", true)                         \
-    M(OLAP_ERR_UNKNOWN_COMPRESSION_TYPE, -113, "", true)                 \
-    M(OLAP_ERR_MMAP_ERROR, -114, "", true)                               \
-    M(OLAP_ERR_RWLOCK_ERROR, -115, "", true)                             \
-    M(OLAP_ERR_READ_UNENOUGH, -116, "", true)                            \
-    M(OLAP_ERR_CANNOT_CREATE_DIR, -117, "", true)                        \
-    M(OLAP_ERR_UB_NETWORK_ERROR, -118, "", true)                         \
-    M(OLAP_ERR_FILE_FORMAT_ERROR, -119, "", true)                        \
-    M(OLAP_ERR_EVAL_CONJUNCTS_ERROR, -120, "", true)                     \
-    M(OLAP_ERR_COPY_FILE_ERROR, -121, "", true)                          \
-    M(OLAP_ERR_FILE_ALREADY_EXIST, -122, "", true)                       \
-    M(OLAP_ERR_NOT_INITED, -200, "", true)                               \
-    M(OLAP_ERR_FUNC_NOT_IMPLEMENTED, -201, "", true)                     \
-    M(OLAP_ERR_CALL_SEQUENCE_ERROR, -202, "", true)                      \
-    M(OLAP_ERR_INPUT_PARAMETER_ERROR, -203, "", true)                    \
-    M(OLAP_ERR_BUFFER_OVERFLOW, -204, "", true)                          \
-    M(OLAP_ERR_CONFIG_ERROR, -205, "", true)                             \
-    M(OLAP_ERR_INIT_FAILED, -206, "", true)                              \
-    M(OLAP_ERR_INVALID_SCHEMA, -207, "", true)                           \
-    M(OLAP_ERR_CHECKSUM_ERROR, -208, "", true)                           \
-    M(OLAP_ERR_SIGNATURE_ERROR, -209, "", true)                          \
-    M(OLAP_ERR_CATCH_EXCEPTION, -210, "", true)                          \
-    M(OLAP_ERR_PARSE_PROTOBUF_ERROR, -211, "", true)                     \
-    M(OLAP_ERR_SERIALIZE_PROTOBUF_ERROR, -212, "", true)                 \
-    M(OLAP_ERR_WRITE_PROTOBUF_ERROR, -213, "", true)                     \
-    M(OLAP_ERR_VERSION_NOT_EXIST, -214, "", true)                        \
-    M(OLAP_ERR_TABLE_NOT_FOUND, -215, "", true)                          \
-    M(OLAP_ERR_TRY_LOCK_FAILED, -216, "", true)                          \
-    M(OLAP_ERR_OUT_OF_BOUND, -218, "", true)                             \
-    M(OLAP_ERR_UNDERFLOW, -219, "", true)                                \
-    M(OLAP_ERR_FILE_DATA_ERROR, -220, "", true)                          \
-    M(OLAP_ERR_TEST_FILE_ERROR, -221, "", true)                          \
-    M(OLAP_ERR_INVALID_ROOT_PATH, -222, "", true)                        \
-    M(OLAP_ERR_NO_AVAILABLE_ROOT_PATH, -223, "", true)                   \
-    M(OLAP_ERR_CHECK_LINES_ERROR, -224, "", true)                        \
-    M(OLAP_ERR_INVALID_CLUSTER_INFO, -225, "", true)                     \
-    M(OLAP_ERR_TRANSACTION_NOT_EXIST, -226, "", true)                    \
-    M(OLAP_ERR_DISK_FAILURE, -227, "", true)                             \
-    M(OLAP_ERR_TRANSACTION_ALREADY_COMMITTED, -228, "", true)            \
-    M(OLAP_ERR_TRANSACTION_ALREADY_VISIBLE, -229, "", true)              \
-    M(OLAP_ERR_VERSION_ALREADY_MERGED, -230, "", true)                   \
-    M(OLAP_ERR_LZO_DISABLED, -231, "", true)                             \
-    M(OLAP_ERR_DISK_REACH_CAPACITY_LIMIT, -232, "", true)                \
-    M(OLAP_ERR_TOO_MANY_TRANSACTIONS, -233, "", true)                    \
-    M(OLAP_ERR_INVALID_SNAPSHOT_VERSION, -234, "", true)                 \
-    M(OLAP_ERR_TOO_MANY_VERSION, -235, "", true)                         \
-    M(OLAP_ERR_NOT_INITIALIZED, -236, "", true)                          \
-    M(OLAP_ERR_ALREADY_CANCELLED, -237, "", true)                        \
-    M(OLAP_ERR_TOO_MANY_SEGMENTS, -238, "", true)                        \
-    M(OLAP_ERR_CE_CMD_PARAMS_ERROR, -300, "", true)                      \
-    M(OLAP_ERR_CE_BUFFER_TOO_SMALL, -301, "", true)                      \
-    M(OLAP_ERR_CE_CMD_NOT_VALID, -302, "", true)                         \
-    M(OLAP_ERR_CE_LOAD_TABLE_ERROR, -303, "", true)                      \
-    M(OLAP_ERR_CE_NOT_FINISHED, -304, "", true)                          \
-    M(OLAP_ERR_CE_TABLET_ID_EXIST, -305, "", true)                       \
-    M(OLAP_ERR_CE_TRY_CE_LOCK_ERROR, -306, "", false)                    \
-    M(OLAP_ERR_TABLE_VERSION_DUPLICATE_ERROR, -400, "", true)            \
-    M(OLAP_ERR_TABLE_VERSION_INDEX_MISMATCH_ERROR, -401, "", true)       \
-    M(OLAP_ERR_TABLE_INDEX_VALIDATE_ERROR, -402, "", true)               \
-    M(OLAP_ERR_TABLE_INDEX_FIND_ERROR, -403, "", true)                   \
-    M(OLAP_ERR_TABLE_CREATE_FROM_HEADER_ERROR, -404, "", true)           \
-    M(OLAP_ERR_TABLE_CREATE_META_ERROR, -405, "", true)                  \
-    M(OLAP_ERR_TABLE_ALREADY_DELETED_ERROR, -406, "", false)             \
-    M(OLAP_ERR_ENGINE_INSERT_EXISTS_TABLE, -500, "", true)               \
-    M(OLAP_ERR_ENGINE_DROP_NOEXISTS_TABLE, -501, "", true)               \
-    M(OLAP_ERR_ENGINE_LOAD_INDEX_TABLE_ERROR, -502, "", true)            \
-    M(OLAP_ERR_TABLE_INSERT_DUPLICATION_ERROR, -503, "", true)           \
-    M(OLAP_ERR_DELETE_VERSION_ERROR, -504, "", true)                     \
-    M(OLAP_ERR_GC_SCAN_PATH_ERROR, -505, "", true)                       \
-    M(OLAP_ERR_ENGINE_INSERT_OLD_TABLET, -506, "", true)                 \
-    M(OLAP_ERR_FETCH_OTHER_ERROR, -600, "", true)                        \
-    M(OLAP_ERR_FETCH_TABLE_NOT_EXIST, -601, "", true)                    \
-    M(OLAP_ERR_FETCH_VERSION_ERROR, -602, "", true)                      \
-    M(OLAP_ERR_FETCH_SCHEMA_ERROR, -603, "", true)                       \
-    M(OLAP_ERR_FETCH_COMPRESSION_ERROR, -604, "", true)                  \
-    M(OLAP_ERR_FETCH_CONTEXT_NOT_EXIST, -605, "", true)                  \
-    M(OLAP_ERR_FETCH_GET_READER_PARAMS_ERR, -606, "", true)              \
-    M(OLAP_ERR_FETCH_SAVE_SESSION_ERR, -607, "", true)                   \
-    M(OLAP_ERR_FETCH_MEMORY_EXCEEDED, -608, "", true)                    \
-    M(OLAP_ERR_READER_IS_UNINITIALIZED, -700, "", true)                  \
-    M(OLAP_ERR_READER_GET_ITERATOR_ERROR, -701, "", true)                \
-    M(OLAP_ERR_CAPTURE_ROWSET_READER_ERROR, -702, "", true)              \
-    M(OLAP_ERR_READER_READING_ERROR, -703, "", true)                     \
-    M(OLAP_ERR_READER_INITIALIZE_ERROR, -704, "", true)                  \
-    M(OLAP_ERR_BE_VERSION_NOT_MATCH, -800, "", true)                     \
-    M(OLAP_ERR_BE_REPLACE_VERSIONS_ERROR, -801, "", true)                \
-    M(OLAP_ERR_BE_MERGE_ERROR, -802, "", true)                           \
-    M(OLAP_ERR_CAPTURE_ROWSET_ERROR, -804, "", true)                     \
-    M(OLAP_ERR_BE_SAVE_HEADER_ERROR, -805, "", true)                     \
-    M(OLAP_ERR_BE_INIT_OLAP_DATA, -806, "", true)                        \
-    M(OLAP_ERR_BE_TRY_OBTAIN_VERSION_LOCKS, -807, "", true)              \
-    M(OLAP_ERR_BE_NO_SUITABLE_VERSION, -808, "", false)                  \
-    M(OLAP_ERR_BE_TRY_BE_LOCK_ERROR, -809, "", true)                     \
-    M(OLAP_ERR_BE_INVALID_NEED_MERGED_VERSIONS, -810, "", true)          \
-    M(OLAP_ERR_BE_ERROR_DELETE_ACTION, -811, "", true)                   \
-    M(OLAP_ERR_BE_SEGMENTS_OVERLAPPING, -812, "", true)                  \
-    M(OLAP_ERR_BE_CLONE_OCCURRED, -813, "", true)                        \
-    M(OLAP_ERR_PUSH_INIT_ERROR, -900, "", true)                          \
-    M(OLAP_ERR_PUSH_DELTA_FILE_EOF, -901, "", false)                     \
-    M(OLAP_ERR_PUSH_VERSION_INCORRECT, -902, "", true)                   \
-    M(OLAP_ERR_PUSH_SCHEMA_MISMATCH, -903, "", true)                     \
-    M(OLAP_ERR_PUSH_CHECKSUM_ERROR, -904, "", true)                      \
-    M(OLAP_ERR_PUSH_ACQUIRE_DATASOURCE_ERROR, -905, "", true)            \
-    M(OLAP_ERR_PUSH_CREAT_CUMULATIVE_ERROR, -906, "", true)              \
-    M(OLAP_ERR_PUSH_BUILD_DELTA_ERROR, -907, "", true)                   \
-    M(OLAP_ERR_PUSH_VERSION_ALREADY_EXIST, -908, "", true)               \
-    M(OLAP_ERR_PUSH_TABLE_NOT_EXIST, -909, "", true)                     \
-    M(OLAP_ERR_PUSH_INPUT_DATA_ERROR, -910, "", true)                    \
-    M(OLAP_ERR_PUSH_TRANSACTION_ALREADY_EXIST, -911, "", true)           \
-    M(OLAP_ERR_PUSH_BATCH_PROCESS_REMOVED, -912, "", true)               \
-    M(OLAP_ERR_PUSH_COMMIT_ROWSET, -913, "", true)                       \
-    M(OLAP_ERR_PUSH_ROWSET_NOT_FOUND, -914, "", true)                    \
-    M(OLAP_ERR_INDEX_LOAD_ERROR, -1000, "", true)                        \
-    M(OLAP_ERR_INDEX_EOF, -1001, "", false)                              \
-    M(OLAP_ERR_INDEX_CHECKSUM_ERROR, -1002, "", true)                    \
-    M(OLAP_ERR_INDEX_DELTA_PRUNING, -1003, "", true)                     \
-    M(OLAP_ERR_DATA_ROW_BLOCK_ERROR, -1100, "", true)                    \
-    M(OLAP_ERR_DATA_FILE_TYPE_ERROR, -1101, "", true)                    \
-    M(OLAP_ERR_DATA_EOF, -1102, "", false)                               \
-    M(OLAP_ERR_WRITER_INDEX_WRITE_ERROR, -1200, "", true)                \
-    M(OLAP_ERR_WRITER_DATA_WRITE_ERROR, -1201, "", true)                 \
-    M(OLAP_ERR_WRITER_ROW_BLOCK_ERROR, -1202, "", true)                  \
-    M(OLAP_ERR_WRITER_SEGMENT_NOT_FINALIZED, -1203, "", true)            \
-    M(OLAP_ERR_ROWBLOCK_DECOMPRESS_ERROR, -1300, "", true)               \
-    M(OLAP_ERR_ROWBLOCK_FIND_ROW_EXCEPTION, -1301, "", true)             \
-    M(OLAP_ERR_ROWBLOCK_READ_INFO_ERROR, -1302, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_VERSION, -1400, "", true)                      \
-    M(OLAP_ERR_HEADER_DELETE_VERSION, -1401, "", true)                   \
-    M(OLAP_ERR_HEADER_ADD_PENDING_DELTA, -1402, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_INCREMENTAL_VERSION, -1403, "", true)          \
-    M(OLAP_ERR_HEADER_INVALID_FLAG, -1404, "", true)                     \
-    M(OLAP_ERR_HEADER_PUT, -1405, "", true)                              \
-    M(OLAP_ERR_HEADER_DELETE, -1406, "", true)                           \
-    M(OLAP_ERR_HEADER_GET, -1407, "", true)                              \
-    M(OLAP_ERR_HEADER_LOAD_INVALID_KEY, -1408, "", true)                 \
-    M(OLAP_ERR_HEADER_FLAG_PUT, -1409, "", true)                         \
-    M(OLAP_ERR_HEADER_LOAD_JSON_HEADER, -1410, "", true)                 \
-    M(OLAP_ERR_HEADER_INIT_FAILED, -1411, "", true)                      \
-    M(OLAP_ERR_HEADER_PB_PARSE_FAILED, -1412, "", true)                  \
-    M(OLAP_ERR_HEADER_HAS_PENDING_DATA, -1413, "", false)                \
-    M(OLAP_ERR_SCHEMA_SCHEMA_INVALID, -1500, "", false)                  \
-    M(OLAP_ERR_SCHEMA_SCHEMA_FIELD_INVALID, -1501, "", true)             \
-    M(OLAP_ERR_ALTER_MULTI_TABLE_ERR, -1600, "", true)                   \
-    M(OLAP_ERR_ALTER_DELTA_DOES_NOT_EXISTS, -1601, "", true)             \
-    M(OLAP_ERR_ALTER_STATUS_ERR, -1602, "", true)                        \
-    M(OLAP_ERR_PREVIOUS_SCHEMA_CHANGE_NOT_FINISHED, -1603, "", true)     \
-    M(OLAP_ERR_SCHEMA_CHANGE_INFO_INVALID, -1604, "", true)              \
-    M(OLAP_ERR_QUERY_SPLIT_KEY_ERR, -1605, "", true)                     \
-    M(OLAP_ERR_DATA_QUALITY_ERR, -1606, "", true)                        \
-    M(OLAP_ERR_COLUMN_DATA_LOAD_BLOCK, -1700, "", true)                  \
-    M(OLAP_ERR_COLUMN_DATA_RECORD_INDEX, -1701, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_MAKE_FILE_HEADER, -1702, "", true)            \
-    M(OLAP_ERR_COLUMN_DATA_READ_VAR_INT, -1703, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_PATCH_LIST_NUM, -1704, "", true)              \
-    M(OLAP_ERR_COLUMN_STREAM_EOF, -1705, "", false)                      \
-    M(OLAP_ERR_COLUMN_READ_STREAM, -1706, "", true)                      \
-    M(OLAP_ERR_COLUMN_STREAM_NOT_EXIST, -1716, "", true)                 \
-    M(OLAP_ERR_COLUMN_VALUE_NULL, -1717, "", true)                       \
-    M(OLAP_ERR_COLUMN_SEEK_ERROR, -1719, "", true)                       \
-    M(OLAP_ERR_DELETE_INVALID_CONDITION, -1900, "", true)                \
-    M(OLAP_ERR_DELETE_UPDATE_HEADER_FAILED, -1901, "", true)             \
-    M(OLAP_ERR_DELETE_SAVE_HEADER_FAILED, -1902, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_PARAMETERS, -1903, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_VERSION, -1904, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_NO_SUITABLE_VERSION, -2000, "", false)         \
-    M(OLAP_ERR_CUMULATIVE_REPEAT_INIT, -2001, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_INVALID_PARAMETERS, -2002, "", true)           \
-    M(OLAP_ERR_CUMULATIVE_FAILED_ACQUIRE_DATA_SOURCE, -2003, "", true)   \
-    M(OLAP_ERR_CUMULATIVE_INVALID_NEED_MERGED_VERSIONS, -2004, "", true) \
-    M(OLAP_ERR_CUMULATIVE_ERROR_DELETE_ACTION, -2005, "", true)          \
-    M(OLAP_ERR_CUMULATIVE_MISS_VERSION, -2006, "", true)                 \
-    M(OLAP_ERR_CUMULATIVE_CLONE_OCCURRED, -2007, "", true)               \
-    M(OLAP_ERR_META_INVALID_ARGUMENT, -3000, "", true)                   \
-    M(OLAP_ERR_META_OPEN_DB, -3001, "", true)                            \
-    M(OLAP_ERR_META_KEY_NOT_FOUND, -3002, "", true)                      \
-    M(OLAP_ERR_META_GET, -3003, "", true)                                \
-    M(OLAP_ERR_META_PUT, -3004, "", true)                                \
-    M(OLAP_ERR_META_ITERATOR, -3005, "", true)                           \
-    M(OLAP_ERR_META_DELETE, -3006, "", true)                             \
-    M(OLAP_ERR_META_ALREADY_EXIST, -3007, "", true)                      \
-    M(OLAP_ERR_ROWSET_WRITER_INIT, -3100, "", true)                      \
-    M(OLAP_ERR_ROWSET_SAVE_FAILED, -3101, "", true)                      \
-    M(OLAP_ERR_ROWSET_GENERATE_ID_FAILED, -3102, "", true)               \
-    M(OLAP_ERR_ROWSET_DELETE_FILE_FAILED, -3103, "", true)               \
-    M(OLAP_ERR_ROWSET_BUILDER_INIT, -3104, "", true)                     \
-    M(OLAP_ERR_ROWSET_TYPE_NOT_FOUND, -3105, "", true)                   \
-    M(OLAP_ERR_ROWSET_ALREADY_EXIST, -3106, "", true)                    \
-    M(OLAP_ERR_ROWSET_CREATE_READER, -3107, "", true)                    \
-    M(OLAP_ERR_ROWSET_INVALID, -3108, "", true)                          \
-    M(OLAP_ERR_ROWSET_LOAD_FAILED, -3109, "", true)                      \
-    M(OLAP_ERR_ROWSET_READER_INIT, -3110, "", true)                      \
-    M(OLAP_ERR_ROWSET_READ_FAILED, -3111, "", true)                      \
-    M(OLAP_ERR_ROWSET_INVALID_STATE_TRANSITION, -3112, "", true)         \
-    M(OLAP_ERR_STRING_OVERFLOW_IN_VEC_ENGINE, -3113, "", true)           \
-    M(OLAP_ERR_ROWSET_ADD_MIGRATION_V2, -3114, "", true)                 \
-    M(OLAP_ERR_PUBLISH_VERSION_NOT_CONTINUOUS, -3115, "", false)         \
-    M(OLAP_ERR_ROWSET_RENAME_FILE_FAILED, -3116, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_READER, -3117, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_WRITER, -3118, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_FAILED, -3119, "", false)
-
-enum ErrorCode {
-#define M(NAME, ERRORCODE, DESC, STACKTRACEENABLED) NAME = ERRORCODE,
-    APPLY_FOR_ERROR_CODES(M)
-#undef M
-};
+namespace ErrorCode {
+#define E(name, code) static constexpr int name = code
+E(OK, 0);
+#define TStatusError(name) E(name, TStatusCode::name)
+// Errors defined in TStatus
+TStatusError(PUBLISH_TIMEOUT);
+TStatusError(MEM_ALLOC_FAILED);
+TStatusError(BUFFER_ALLOCATION_FAILED);
+TStatusError(INVALID_ARGUMENT);
+TStatusError(MINIMUM_RESERVATION_UNAVAILABLE);
+TStatusError(CORRUPTION);
+TStatusError(IO_ERROR);
+TStatusError(NOT_FOUND);
+TStatusError(ALREADY_EXIST);
+TStatusError(NOT_IMPLEMENTED_ERROR);
+TStatusError(END_OF_FILE);
+TStatusError(INTERNAL_ERROR);
+TStatusError(RUNTIME_ERROR);
+TStatusError(CANCELLED);
+TStatusError(MEM_LIMIT_EXCEEDED);
+TStatusError(THRIFT_RPC_ERROR);
+TStatusError(TIMEOUT);
+TStatusError(TOO_MANY_TASKS);
+TStatusError(SERVICE_UNAVAILABLE);
+TStatusError(UNINITIALIZED);
+TStatusError(ABORTED);
+TStatusError(DATA_QUALITY_ERROR);
+TStatusError(LABEL_ALREADY_EXISTS);
+#undef TStatusError
+// BE internal errors
+E(OS_ERROR, -100);
+E(DIR_NOT_EXIST, -101);
+E(FILE_NOT_EXIST, -102);
+E(CREATE_FILE_ERROR, -103);
+E(STL_ERROR, -105);
+E(MUTEX_ERROR, -107);
+E(PTHREAD_ERROR, -108);
+E(NETWORK_ERROR, -109);
+E(UB_FUNC_ERROR, -110);
+E(COMPRESS_ERROR, -111);
+E(DECOMPRESS_ERROR, -112);

Review Comment:
   warning: unused variable 'DECOMPRESS_ERROR' [clang-diagnostic-unused-const-variable]
   ```cpp
   E(DECOMPRESS_ERROR, -112);
     ^
   ```
   



##########
be/src/common/status.h:
##########
@@ -12,249 +12,283 @@
 #include <string_view>
 
 #include "common/compiler_util.h"
-#include "common/logging.h"
 #include "gen_cpp/Status_types.h" // for TStatus
+#ifdef ENABLE_STACKTRACE
+#include "util/stack_util.h"
+#endif
 
 namespace doris {
 
 class PStatus;
 
-// ErrorName, ErrorCode, String Description, Should print stacktrace
-#define APPLY_FOR_ERROR_CODES(M)                                         \
-    M(OLAP_SUCCESS, 0, "", false)                                        \
-    M(OLAP_ERR_OTHER_ERROR, -1, "", true)                                \
-    M(OLAP_REQUEST_FAILED, -2, "", false)                                \
-    M(OLAP_ERR_OS_ERROR, -100, "", true)                                 \
-    M(OLAP_ERR_DIR_NOT_EXIST, -101, "", true)                            \
-    M(OLAP_ERR_FILE_NOT_EXIST, -102, "", true)                           \
-    M(OLAP_ERR_CREATE_FILE_ERROR, -103, "", true)                        \
-    M(OLAP_ERR_MALLOC_ERROR, -104, "", true)                             \
-    M(OLAP_ERR_STL_ERROR, -105, "", true)                                \
-    M(OLAP_ERR_IO_ERROR, -106, "", true)                                 \
-    M(OLAP_ERR_MUTEX_ERROR, -107, "", true)                              \
-    M(OLAP_ERR_PTHREAD_ERROR, -108, "", true)                            \
-    M(OLAP_ERR_NETWORK_ERROR, -109, "", true)                            \
-    M(OLAP_ERR_UB_FUNC_ERROR, -110, "", true)                            \
-    M(OLAP_ERR_COMPRESS_ERROR, -111, "", true)                           \
-    M(OLAP_ERR_DECOMPRESS_ERROR, -112, "", true)                         \
-    M(OLAP_ERR_UNKNOWN_COMPRESSION_TYPE, -113, "", true)                 \
-    M(OLAP_ERR_MMAP_ERROR, -114, "", true)                               \
-    M(OLAP_ERR_RWLOCK_ERROR, -115, "", true)                             \
-    M(OLAP_ERR_READ_UNENOUGH, -116, "", true)                            \
-    M(OLAP_ERR_CANNOT_CREATE_DIR, -117, "", true)                        \
-    M(OLAP_ERR_UB_NETWORK_ERROR, -118, "", true)                         \
-    M(OLAP_ERR_FILE_FORMAT_ERROR, -119, "", true)                        \
-    M(OLAP_ERR_EVAL_CONJUNCTS_ERROR, -120, "", true)                     \
-    M(OLAP_ERR_COPY_FILE_ERROR, -121, "", true)                          \
-    M(OLAP_ERR_FILE_ALREADY_EXIST, -122, "", true)                       \
-    M(OLAP_ERR_NOT_INITED, -200, "", true)                               \
-    M(OLAP_ERR_FUNC_NOT_IMPLEMENTED, -201, "", true)                     \
-    M(OLAP_ERR_CALL_SEQUENCE_ERROR, -202, "", true)                      \
-    M(OLAP_ERR_INPUT_PARAMETER_ERROR, -203, "", true)                    \
-    M(OLAP_ERR_BUFFER_OVERFLOW, -204, "", true)                          \
-    M(OLAP_ERR_CONFIG_ERROR, -205, "", true)                             \
-    M(OLAP_ERR_INIT_FAILED, -206, "", true)                              \
-    M(OLAP_ERR_INVALID_SCHEMA, -207, "", true)                           \
-    M(OLAP_ERR_CHECKSUM_ERROR, -208, "", true)                           \
-    M(OLAP_ERR_SIGNATURE_ERROR, -209, "", true)                          \
-    M(OLAP_ERR_CATCH_EXCEPTION, -210, "", true)                          \
-    M(OLAP_ERR_PARSE_PROTOBUF_ERROR, -211, "", true)                     \
-    M(OLAP_ERR_SERIALIZE_PROTOBUF_ERROR, -212, "", true)                 \
-    M(OLAP_ERR_WRITE_PROTOBUF_ERROR, -213, "", true)                     \
-    M(OLAP_ERR_VERSION_NOT_EXIST, -214, "", true)                        \
-    M(OLAP_ERR_TABLE_NOT_FOUND, -215, "", true)                          \
-    M(OLAP_ERR_TRY_LOCK_FAILED, -216, "", true)                          \
-    M(OLAP_ERR_OUT_OF_BOUND, -218, "", true)                             \
-    M(OLAP_ERR_UNDERFLOW, -219, "", true)                                \
-    M(OLAP_ERR_FILE_DATA_ERROR, -220, "", true)                          \
-    M(OLAP_ERR_TEST_FILE_ERROR, -221, "", true)                          \
-    M(OLAP_ERR_INVALID_ROOT_PATH, -222, "", true)                        \
-    M(OLAP_ERR_NO_AVAILABLE_ROOT_PATH, -223, "", true)                   \
-    M(OLAP_ERR_CHECK_LINES_ERROR, -224, "", true)                        \
-    M(OLAP_ERR_INVALID_CLUSTER_INFO, -225, "", true)                     \
-    M(OLAP_ERR_TRANSACTION_NOT_EXIST, -226, "", true)                    \
-    M(OLAP_ERR_DISK_FAILURE, -227, "", true)                             \
-    M(OLAP_ERR_TRANSACTION_ALREADY_COMMITTED, -228, "", true)            \
-    M(OLAP_ERR_TRANSACTION_ALREADY_VISIBLE, -229, "", true)              \
-    M(OLAP_ERR_VERSION_ALREADY_MERGED, -230, "", true)                   \
-    M(OLAP_ERR_LZO_DISABLED, -231, "", true)                             \
-    M(OLAP_ERR_DISK_REACH_CAPACITY_LIMIT, -232, "", true)                \
-    M(OLAP_ERR_TOO_MANY_TRANSACTIONS, -233, "", true)                    \
-    M(OLAP_ERR_INVALID_SNAPSHOT_VERSION, -234, "", true)                 \
-    M(OLAP_ERR_TOO_MANY_VERSION, -235, "", true)                         \
-    M(OLAP_ERR_NOT_INITIALIZED, -236, "", true)                          \
-    M(OLAP_ERR_ALREADY_CANCELLED, -237, "", true)                        \
-    M(OLAP_ERR_TOO_MANY_SEGMENTS, -238, "", true)                        \
-    M(OLAP_ERR_CE_CMD_PARAMS_ERROR, -300, "", true)                      \
-    M(OLAP_ERR_CE_BUFFER_TOO_SMALL, -301, "", true)                      \
-    M(OLAP_ERR_CE_CMD_NOT_VALID, -302, "", true)                         \
-    M(OLAP_ERR_CE_LOAD_TABLE_ERROR, -303, "", true)                      \
-    M(OLAP_ERR_CE_NOT_FINISHED, -304, "", true)                          \
-    M(OLAP_ERR_CE_TABLET_ID_EXIST, -305, "", true)                       \
-    M(OLAP_ERR_CE_TRY_CE_LOCK_ERROR, -306, "", false)                    \
-    M(OLAP_ERR_TABLE_VERSION_DUPLICATE_ERROR, -400, "", true)            \
-    M(OLAP_ERR_TABLE_VERSION_INDEX_MISMATCH_ERROR, -401, "", true)       \
-    M(OLAP_ERR_TABLE_INDEX_VALIDATE_ERROR, -402, "", true)               \
-    M(OLAP_ERR_TABLE_INDEX_FIND_ERROR, -403, "", true)                   \
-    M(OLAP_ERR_TABLE_CREATE_FROM_HEADER_ERROR, -404, "", true)           \
-    M(OLAP_ERR_TABLE_CREATE_META_ERROR, -405, "", true)                  \
-    M(OLAP_ERR_TABLE_ALREADY_DELETED_ERROR, -406, "", false)             \
-    M(OLAP_ERR_ENGINE_INSERT_EXISTS_TABLE, -500, "", true)               \
-    M(OLAP_ERR_ENGINE_DROP_NOEXISTS_TABLE, -501, "", true)               \
-    M(OLAP_ERR_ENGINE_LOAD_INDEX_TABLE_ERROR, -502, "", true)            \
-    M(OLAP_ERR_TABLE_INSERT_DUPLICATION_ERROR, -503, "", true)           \
-    M(OLAP_ERR_DELETE_VERSION_ERROR, -504, "", true)                     \
-    M(OLAP_ERR_GC_SCAN_PATH_ERROR, -505, "", true)                       \
-    M(OLAP_ERR_ENGINE_INSERT_OLD_TABLET, -506, "", true)                 \
-    M(OLAP_ERR_FETCH_OTHER_ERROR, -600, "", true)                        \
-    M(OLAP_ERR_FETCH_TABLE_NOT_EXIST, -601, "", true)                    \
-    M(OLAP_ERR_FETCH_VERSION_ERROR, -602, "", true)                      \
-    M(OLAP_ERR_FETCH_SCHEMA_ERROR, -603, "", true)                       \
-    M(OLAP_ERR_FETCH_COMPRESSION_ERROR, -604, "", true)                  \
-    M(OLAP_ERR_FETCH_CONTEXT_NOT_EXIST, -605, "", true)                  \
-    M(OLAP_ERR_FETCH_GET_READER_PARAMS_ERR, -606, "", true)              \
-    M(OLAP_ERR_FETCH_SAVE_SESSION_ERR, -607, "", true)                   \
-    M(OLAP_ERR_FETCH_MEMORY_EXCEEDED, -608, "", true)                    \
-    M(OLAP_ERR_READER_IS_UNINITIALIZED, -700, "", true)                  \
-    M(OLAP_ERR_READER_GET_ITERATOR_ERROR, -701, "", true)                \
-    M(OLAP_ERR_CAPTURE_ROWSET_READER_ERROR, -702, "", true)              \
-    M(OLAP_ERR_READER_READING_ERROR, -703, "", true)                     \
-    M(OLAP_ERR_READER_INITIALIZE_ERROR, -704, "", true)                  \
-    M(OLAP_ERR_BE_VERSION_NOT_MATCH, -800, "", true)                     \
-    M(OLAP_ERR_BE_REPLACE_VERSIONS_ERROR, -801, "", true)                \
-    M(OLAP_ERR_BE_MERGE_ERROR, -802, "", true)                           \
-    M(OLAP_ERR_CAPTURE_ROWSET_ERROR, -804, "", true)                     \
-    M(OLAP_ERR_BE_SAVE_HEADER_ERROR, -805, "", true)                     \
-    M(OLAP_ERR_BE_INIT_OLAP_DATA, -806, "", true)                        \
-    M(OLAP_ERR_BE_TRY_OBTAIN_VERSION_LOCKS, -807, "", true)              \
-    M(OLAP_ERR_BE_NO_SUITABLE_VERSION, -808, "", false)                  \
-    M(OLAP_ERR_BE_TRY_BE_LOCK_ERROR, -809, "", true)                     \
-    M(OLAP_ERR_BE_INVALID_NEED_MERGED_VERSIONS, -810, "", true)          \
-    M(OLAP_ERR_BE_ERROR_DELETE_ACTION, -811, "", true)                   \
-    M(OLAP_ERR_BE_SEGMENTS_OVERLAPPING, -812, "", true)                  \
-    M(OLAP_ERR_BE_CLONE_OCCURRED, -813, "", true)                        \
-    M(OLAP_ERR_PUSH_INIT_ERROR, -900, "", true)                          \
-    M(OLAP_ERR_PUSH_DELTA_FILE_EOF, -901, "", false)                     \
-    M(OLAP_ERR_PUSH_VERSION_INCORRECT, -902, "", true)                   \
-    M(OLAP_ERR_PUSH_SCHEMA_MISMATCH, -903, "", true)                     \
-    M(OLAP_ERR_PUSH_CHECKSUM_ERROR, -904, "", true)                      \
-    M(OLAP_ERR_PUSH_ACQUIRE_DATASOURCE_ERROR, -905, "", true)            \
-    M(OLAP_ERR_PUSH_CREAT_CUMULATIVE_ERROR, -906, "", true)              \
-    M(OLAP_ERR_PUSH_BUILD_DELTA_ERROR, -907, "", true)                   \
-    M(OLAP_ERR_PUSH_VERSION_ALREADY_EXIST, -908, "", true)               \
-    M(OLAP_ERR_PUSH_TABLE_NOT_EXIST, -909, "", true)                     \
-    M(OLAP_ERR_PUSH_INPUT_DATA_ERROR, -910, "", true)                    \
-    M(OLAP_ERR_PUSH_TRANSACTION_ALREADY_EXIST, -911, "", true)           \
-    M(OLAP_ERR_PUSH_BATCH_PROCESS_REMOVED, -912, "", true)               \
-    M(OLAP_ERR_PUSH_COMMIT_ROWSET, -913, "", true)                       \
-    M(OLAP_ERR_PUSH_ROWSET_NOT_FOUND, -914, "", true)                    \
-    M(OLAP_ERR_INDEX_LOAD_ERROR, -1000, "", true)                        \
-    M(OLAP_ERR_INDEX_EOF, -1001, "", false)                              \
-    M(OLAP_ERR_INDEX_CHECKSUM_ERROR, -1002, "", true)                    \
-    M(OLAP_ERR_INDEX_DELTA_PRUNING, -1003, "", true)                     \
-    M(OLAP_ERR_DATA_ROW_BLOCK_ERROR, -1100, "", true)                    \
-    M(OLAP_ERR_DATA_FILE_TYPE_ERROR, -1101, "", true)                    \
-    M(OLAP_ERR_DATA_EOF, -1102, "", false)                               \
-    M(OLAP_ERR_WRITER_INDEX_WRITE_ERROR, -1200, "", true)                \
-    M(OLAP_ERR_WRITER_DATA_WRITE_ERROR, -1201, "", true)                 \
-    M(OLAP_ERR_WRITER_ROW_BLOCK_ERROR, -1202, "", true)                  \
-    M(OLAP_ERR_WRITER_SEGMENT_NOT_FINALIZED, -1203, "", true)            \
-    M(OLAP_ERR_ROWBLOCK_DECOMPRESS_ERROR, -1300, "", true)               \
-    M(OLAP_ERR_ROWBLOCK_FIND_ROW_EXCEPTION, -1301, "", true)             \
-    M(OLAP_ERR_ROWBLOCK_READ_INFO_ERROR, -1302, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_VERSION, -1400, "", true)                      \
-    M(OLAP_ERR_HEADER_DELETE_VERSION, -1401, "", true)                   \
-    M(OLAP_ERR_HEADER_ADD_PENDING_DELTA, -1402, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_INCREMENTAL_VERSION, -1403, "", true)          \
-    M(OLAP_ERR_HEADER_INVALID_FLAG, -1404, "", true)                     \
-    M(OLAP_ERR_HEADER_PUT, -1405, "", true)                              \
-    M(OLAP_ERR_HEADER_DELETE, -1406, "", true)                           \
-    M(OLAP_ERR_HEADER_GET, -1407, "", true)                              \
-    M(OLAP_ERR_HEADER_LOAD_INVALID_KEY, -1408, "", true)                 \
-    M(OLAP_ERR_HEADER_FLAG_PUT, -1409, "", true)                         \
-    M(OLAP_ERR_HEADER_LOAD_JSON_HEADER, -1410, "", true)                 \
-    M(OLAP_ERR_HEADER_INIT_FAILED, -1411, "", true)                      \
-    M(OLAP_ERR_HEADER_PB_PARSE_FAILED, -1412, "", true)                  \
-    M(OLAP_ERR_HEADER_HAS_PENDING_DATA, -1413, "", false)                \
-    M(OLAP_ERR_SCHEMA_SCHEMA_INVALID, -1500, "", false)                  \
-    M(OLAP_ERR_SCHEMA_SCHEMA_FIELD_INVALID, -1501, "", true)             \
-    M(OLAP_ERR_ALTER_MULTI_TABLE_ERR, -1600, "", true)                   \
-    M(OLAP_ERR_ALTER_DELTA_DOES_NOT_EXISTS, -1601, "", true)             \
-    M(OLAP_ERR_ALTER_STATUS_ERR, -1602, "", true)                        \
-    M(OLAP_ERR_PREVIOUS_SCHEMA_CHANGE_NOT_FINISHED, -1603, "", true)     \
-    M(OLAP_ERR_SCHEMA_CHANGE_INFO_INVALID, -1604, "", true)              \
-    M(OLAP_ERR_QUERY_SPLIT_KEY_ERR, -1605, "", true)                     \
-    M(OLAP_ERR_DATA_QUALITY_ERR, -1606, "", true)                        \
-    M(OLAP_ERR_COLUMN_DATA_LOAD_BLOCK, -1700, "", true)                  \
-    M(OLAP_ERR_COLUMN_DATA_RECORD_INDEX, -1701, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_MAKE_FILE_HEADER, -1702, "", true)            \
-    M(OLAP_ERR_COLUMN_DATA_READ_VAR_INT, -1703, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_PATCH_LIST_NUM, -1704, "", true)              \
-    M(OLAP_ERR_COLUMN_STREAM_EOF, -1705, "", false)                      \
-    M(OLAP_ERR_COLUMN_READ_STREAM, -1706, "", true)                      \
-    M(OLAP_ERR_COLUMN_STREAM_NOT_EXIST, -1716, "", true)                 \
-    M(OLAP_ERR_COLUMN_VALUE_NULL, -1717, "", true)                       \
-    M(OLAP_ERR_COLUMN_SEEK_ERROR, -1719, "", true)                       \
-    M(OLAP_ERR_DELETE_INVALID_CONDITION, -1900, "", true)                \
-    M(OLAP_ERR_DELETE_UPDATE_HEADER_FAILED, -1901, "", true)             \
-    M(OLAP_ERR_DELETE_SAVE_HEADER_FAILED, -1902, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_PARAMETERS, -1903, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_VERSION, -1904, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_NO_SUITABLE_VERSION, -2000, "", false)         \
-    M(OLAP_ERR_CUMULATIVE_REPEAT_INIT, -2001, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_INVALID_PARAMETERS, -2002, "", true)           \
-    M(OLAP_ERR_CUMULATIVE_FAILED_ACQUIRE_DATA_SOURCE, -2003, "", true)   \
-    M(OLAP_ERR_CUMULATIVE_INVALID_NEED_MERGED_VERSIONS, -2004, "", true) \
-    M(OLAP_ERR_CUMULATIVE_ERROR_DELETE_ACTION, -2005, "", true)          \
-    M(OLAP_ERR_CUMULATIVE_MISS_VERSION, -2006, "", true)                 \
-    M(OLAP_ERR_CUMULATIVE_CLONE_OCCURRED, -2007, "", true)               \
-    M(OLAP_ERR_META_INVALID_ARGUMENT, -3000, "", true)                   \
-    M(OLAP_ERR_META_OPEN_DB, -3001, "", true)                            \
-    M(OLAP_ERR_META_KEY_NOT_FOUND, -3002, "", true)                      \
-    M(OLAP_ERR_META_GET, -3003, "", true)                                \
-    M(OLAP_ERR_META_PUT, -3004, "", true)                                \
-    M(OLAP_ERR_META_ITERATOR, -3005, "", true)                           \
-    M(OLAP_ERR_META_DELETE, -3006, "", true)                             \
-    M(OLAP_ERR_META_ALREADY_EXIST, -3007, "", true)                      \
-    M(OLAP_ERR_ROWSET_WRITER_INIT, -3100, "", true)                      \
-    M(OLAP_ERR_ROWSET_SAVE_FAILED, -3101, "", true)                      \
-    M(OLAP_ERR_ROWSET_GENERATE_ID_FAILED, -3102, "", true)               \
-    M(OLAP_ERR_ROWSET_DELETE_FILE_FAILED, -3103, "", true)               \
-    M(OLAP_ERR_ROWSET_BUILDER_INIT, -3104, "", true)                     \
-    M(OLAP_ERR_ROWSET_TYPE_NOT_FOUND, -3105, "", true)                   \
-    M(OLAP_ERR_ROWSET_ALREADY_EXIST, -3106, "", true)                    \
-    M(OLAP_ERR_ROWSET_CREATE_READER, -3107, "", true)                    \
-    M(OLAP_ERR_ROWSET_INVALID, -3108, "", true)                          \
-    M(OLAP_ERR_ROWSET_LOAD_FAILED, -3109, "", true)                      \
-    M(OLAP_ERR_ROWSET_READER_INIT, -3110, "", true)                      \
-    M(OLAP_ERR_ROWSET_READ_FAILED, -3111, "", true)                      \
-    M(OLAP_ERR_ROWSET_INVALID_STATE_TRANSITION, -3112, "", true)         \
-    M(OLAP_ERR_STRING_OVERFLOW_IN_VEC_ENGINE, -3113, "", true)           \
-    M(OLAP_ERR_ROWSET_ADD_MIGRATION_V2, -3114, "", true)                 \
-    M(OLAP_ERR_PUBLISH_VERSION_NOT_CONTINUOUS, -3115, "", false)         \
-    M(OLAP_ERR_ROWSET_RENAME_FILE_FAILED, -3116, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_READER, -3117, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_WRITER, -3118, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_FAILED, -3119, "", false)
-
-enum ErrorCode {
-#define M(NAME, ERRORCODE, DESC, STACKTRACEENABLED) NAME = ERRORCODE,
-    APPLY_FOR_ERROR_CODES(M)
-#undef M
-};
+namespace ErrorCode {
+#define E(name, code) static constexpr int name = code
+E(OK, 0);
+#define TStatusError(name) E(name, TStatusCode::name)
+// Errors defined in TStatus
+TStatusError(PUBLISH_TIMEOUT);
+TStatusError(MEM_ALLOC_FAILED);
+TStatusError(BUFFER_ALLOCATION_FAILED);
+TStatusError(INVALID_ARGUMENT);
+TStatusError(MINIMUM_RESERVATION_UNAVAILABLE);
+TStatusError(CORRUPTION);
+TStatusError(IO_ERROR);
+TStatusError(NOT_FOUND);
+TStatusError(ALREADY_EXIST);
+TStatusError(NOT_IMPLEMENTED_ERROR);
+TStatusError(END_OF_FILE);
+TStatusError(INTERNAL_ERROR);
+TStatusError(RUNTIME_ERROR);
+TStatusError(CANCELLED);
+TStatusError(MEM_LIMIT_EXCEEDED);
+TStatusError(THRIFT_RPC_ERROR);
+TStatusError(TIMEOUT);
+TStatusError(TOO_MANY_TASKS);
+TStatusError(SERVICE_UNAVAILABLE);
+TStatusError(UNINITIALIZED);
+TStatusError(ABORTED);
+TStatusError(DATA_QUALITY_ERROR);
+TStatusError(LABEL_ALREADY_EXISTS);
+#undef TStatusError
+// BE internal errors
+E(OS_ERROR, -100);
+E(DIR_NOT_EXIST, -101);
+E(FILE_NOT_EXIST, -102);
+E(CREATE_FILE_ERROR, -103);
+E(STL_ERROR, -105);
+E(MUTEX_ERROR, -107);
+E(PTHREAD_ERROR, -108);
+E(NETWORK_ERROR, -109);
+E(UB_FUNC_ERROR, -110);

Review Comment:
   warning: unused variable 'UB_FUNC_ERROR' [clang-diagnostic-unused-const-variable]
   ```cpp
   E(UB_FUNC_ERROR, -110);
     ^
   ```
   



##########
be/src/common/status.h:
##########
@@ -12,249 +12,283 @@
 #include <string_view>
 
 #include "common/compiler_util.h"
-#include "common/logging.h"
 #include "gen_cpp/Status_types.h" // for TStatus
+#ifdef ENABLE_STACKTRACE
+#include "util/stack_util.h"
+#endif
 
 namespace doris {
 
 class PStatus;
 
-// ErrorName, ErrorCode, String Description, Should print stacktrace
-#define APPLY_FOR_ERROR_CODES(M)                                         \
-    M(OLAP_SUCCESS, 0, "", false)                                        \
-    M(OLAP_ERR_OTHER_ERROR, -1, "", true)                                \
-    M(OLAP_REQUEST_FAILED, -2, "", false)                                \
-    M(OLAP_ERR_OS_ERROR, -100, "", true)                                 \
-    M(OLAP_ERR_DIR_NOT_EXIST, -101, "", true)                            \
-    M(OLAP_ERR_FILE_NOT_EXIST, -102, "", true)                           \
-    M(OLAP_ERR_CREATE_FILE_ERROR, -103, "", true)                        \
-    M(OLAP_ERR_MALLOC_ERROR, -104, "", true)                             \
-    M(OLAP_ERR_STL_ERROR, -105, "", true)                                \
-    M(OLAP_ERR_IO_ERROR, -106, "", true)                                 \
-    M(OLAP_ERR_MUTEX_ERROR, -107, "", true)                              \
-    M(OLAP_ERR_PTHREAD_ERROR, -108, "", true)                            \
-    M(OLAP_ERR_NETWORK_ERROR, -109, "", true)                            \
-    M(OLAP_ERR_UB_FUNC_ERROR, -110, "", true)                            \
-    M(OLAP_ERR_COMPRESS_ERROR, -111, "", true)                           \
-    M(OLAP_ERR_DECOMPRESS_ERROR, -112, "", true)                         \
-    M(OLAP_ERR_UNKNOWN_COMPRESSION_TYPE, -113, "", true)                 \
-    M(OLAP_ERR_MMAP_ERROR, -114, "", true)                               \
-    M(OLAP_ERR_RWLOCK_ERROR, -115, "", true)                             \
-    M(OLAP_ERR_READ_UNENOUGH, -116, "", true)                            \
-    M(OLAP_ERR_CANNOT_CREATE_DIR, -117, "", true)                        \
-    M(OLAP_ERR_UB_NETWORK_ERROR, -118, "", true)                         \
-    M(OLAP_ERR_FILE_FORMAT_ERROR, -119, "", true)                        \
-    M(OLAP_ERR_EVAL_CONJUNCTS_ERROR, -120, "", true)                     \
-    M(OLAP_ERR_COPY_FILE_ERROR, -121, "", true)                          \
-    M(OLAP_ERR_FILE_ALREADY_EXIST, -122, "", true)                       \
-    M(OLAP_ERR_NOT_INITED, -200, "", true)                               \
-    M(OLAP_ERR_FUNC_NOT_IMPLEMENTED, -201, "", true)                     \
-    M(OLAP_ERR_CALL_SEQUENCE_ERROR, -202, "", true)                      \
-    M(OLAP_ERR_INPUT_PARAMETER_ERROR, -203, "", true)                    \
-    M(OLAP_ERR_BUFFER_OVERFLOW, -204, "", true)                          \
-    M(OLAP_ERR_CONFIG_ERROR, -205, "", true)                             \
-    M(OLAP_ERR_INIT_FAILED, -206, "", true)                              \
-    M(OLAP_ERR_INVALID_SCHEMA, -207, "", true)                           \
-    M(OLAP_ERR_CHECKSUM_ERROR, -208, "", true)                           \
-    M(OLAP_ERR_SIGNATURE_ERROR, -209, "", true)                          \
-    M(OLAP_ERR_CATCH_EXCEPTION, -210, "", true)                          \
-    M(OLAP_ERR_PARSE_PROTOBUF_ERROR, -211, "", true)                     \
-    M(OLAP_ERR_SERIALIZE_PROTOBUF_ERROR, -212, "", true)                 \
-    M(OLAP_ERR_WRITE_PROTOBUF_ERROR, -213, "", true)                     \
-    M(OLAP_ERR_VERSION_NOT_EXIST, -214, "", true)                        \
-    M(OLAP_ERR_TABLE_NOT_FOUND, -215, "", true)                          \
-    M(OLAP_ERR_TRY_LOCK_FAILED, -216, "", true)                          \
-    M(OLAP_ERR_OUT_OF_BOUND, -218, "", true)                             \
-    M(OLAP_ERR_UNDERFLOW, -219, "", true)                                \
-    M(OLAP_ERR_FILE_DATA_ERROR, -220, "", true)                          \
-    M(OLAP_ERR_TEST_FILE_ERROR, -221, "", true)                          \
-    M(OLAP_ERR_INVALID_ROOT_PATH, -222, "", true)                        \
-    M(OLAP_ERR_NO_AVAILABLE_ROOT_PATH, -223, "", true)                   \
-    M(OLAP_ERR_CHECK_LINES_ERROR, -224, "", true)                        \
-    M(OLAP_ERR_INVALID_CLUSTER_INFO, -225, "", true)                     \
-    M(OLAP_ERR_TRANSACTION_NOT_EXIST, -226, "", true)                    \
-    M(OLAP_ERR_DISK_FAILURE, -227, "", true)                             \
-    M(OLAP_ERR_TRANSACTION_ALREADY_COMMITTED, -228, "", true)            \
-    M(OLAP_ERR_TRANSACTION_ALREADY_VISIBLE, -229, "", true)              \
-    M(OLAP_ERR_VERSION_ALREADY_MERGED, -230, "", true)                   \
-    M(OLAP_ERR_LZO_DISABLED, -231, "", true)                             \
-    M(OLAP_ERR_DISK_REACH_CAPACITY_LIMIT, -232, "", true)                \
-    M(OLAP_ERR_TOO_MANY_TRANSACTIONS, -233, "", true)                    \
-    M(OLAP_ERR_INVALID_SNAPSHOT_VERSION, -234, "", true)                 \
-    M(OLAP_ERR_TOO_MANY_VERSION, -235, "", true)                         \
-    M(OLAP_ERR_NOT_INITIALIZED, -236, "", true)                          \
-    M(OLAP_ERR_ALREADY_CANCELLED, -237, "", true)                        \
-    M(OLAP_ERR_TOO_MANY_SEGMENTS, -238, "", true)                        \
-    M(OLAP_ERR_CE_CMD_PARAMS_ERROR, -300, "", true)                      \
-    M(OLAP_ERR_CE_BUFFER_TOO_SMALL, -301, "", true)                      \
-    M(OLAP_ERR_CE_CMD_NOT_VALID, -302, "", true)                         \
-    M(OLAP_ERR_CE_LOAD_TABLE_ERROR, -303, "", true)                      \
-    M(OLAP_ERR_CE_NOT_FINISHED, -304, "", true)                          \
-    M(OLAP_ERR_CE_TABLET_ID_EXIST, -305, "", true)                       \
-    M(OLAP_ERR_CE_TRY_CE_LOCK_ERROR, -306, "", false)                    \
-    M(OLAP_ERR_TABLE_VERSION_DUPLICATE_ERROR, -400, "", true)            \
-    M(OLAP_ERR_TABLE_VERSION_INDEX_MISMATCH_ERROR, -401, "", true)       \
-    M(OLAP_ERR_TABLE_INDEX_VALIDATE_ERROR, -402, "", true)               \
-    M(OLAP_ERR_TABLE_INDEX_FIND_ERROR, -403, "", true)                   \
-    M(OLAP_ERR_TABLE_CREATE_FROM_HEADER_ERROR, -404, "", true)           \
-    M(OLAP_ERR_TABLE_CREATE_META_ERROR, -405, "", true)                  \
-    M(OLAP_ERR_TABLE_ALREADY_DELETED_ERROR, -406, "", false)             \
-    M(OLAP_ERR_ENGINE_INSERT_EXISTS_TABLE, -500, "", true)               \
-    M(OLAP_ERR_ENGINE_DROP_NOEXISTS_TABLE, -501, "", true)               \
-    M(OLAP_ERR_ENGINE_LOAD_INDEX_TABLE_ERROR, -502, "", true)            \
-    M(OLAP_ERR_TABLE_INSERT_DUPLICATION_ERROR, -503, "", true)           \
-    M(OLAP_ERR_DELETE_VERSION_ERROR, -504, "", true)                     \
-    M(OLAP_ERR_GC_SCAN_PATH_ERROR, -505, "", true)                       \
-    M(OLAP_ERR_ENGINE_INSERT_OLD_TABLET, -506, "", true)                 \
-    M(OLAP_ERR_FETCH_OTHER_ERROR, -600, "", true)                        \
-    M(OLAP_ERR_FETCH_TABLE_NOT_EXIST, -601, "", true)                    \
-    M(OLAP_ERR_FETCH_VERSION_ERROR, -602, "", true)                      \
-    M(OLAP_ERR_FETCH_SCHEMA_ERROR, -603, "", true)                       \
-    M(OLAP_ERR_FETCH_COMPRESSION_ERROR, -604, "", true)                  \
-    M(OLAP_ERR_FETCH_CONTEXT_NOT_EXIST, -605, "", true)                  \
-    M(OLAP_ERR_FETCH_GET_READER_PARAMS_ERR, -606, "", true)              \
-    M(OLAP_ERR_FETCH_SAVE_SESSION_ERR, -607, "", true)                   \
-    M(OLAP_ERR_FETCH_MEMORY_EXCEEDED, -608, "", true)                    \
-    M(OLAP_ERR_READER_IS_UNINITIALIZED, -700, "", true)                  \
-    M(OLAP_ERR_READER_GET_ITERATOR_ERROR, -701, "", true)                \
-    M(OLAP_ERR_CAPTURE_ROWSET_READER_ERROR, -702, "", true)              \
-    M(OLAP_ERR_READER_READING_ERROR, -703, "", true)                     \
-    M(OLAP_ERR_READER_INITIALIZE_ERROR, -704, "", true)                  \
-    M(OLAP_ERR_BE_VERSION_NOT_MATCH, -800, "", true)                     \
-    M(OLAP_ERR_BE_REPLACE_VERSIONS_ERROR, -801, "", true)                \
-    M(OLAP_ERR_BE_MERGE_ERROR, -802, "", true)                           \
-    M(OLAP_ERR_CAPTURE_ROWSET_ERROR, -804, "", true)                     \
-    M(OLAP_ERR_BE_SAVE_HEADER_ERROR, -805, "", true)                     \
-    M(OLAP_ERR_BE_INIT_OLAP_DATA, -806, "", true)                        \
-    M(OLAP_ERR_BE_TRY_OBTAIN_VERSION_LOCKS, -807, "", true)              \
-    M(OLAP_ERR_BE_NO_SUITABLE_VERSION, -808, "", false)                  \
-    M(OLAP_ERR_BE_TRY_BE_LOCK_ERROR, -809, "", true)                     \
-    M(OLAP_ERR_BE_INVALID_NEED_MERGED_VERSIONS, -810, "", true)          \
-    M(OLAP_ERR_BE_ERROR_DELETE_ACTION, -811, "", true)                   \
-    M(OLAP_ERR_BE_SEGMENTS_OVERLAPPING, -812, "", true)                  \
-    M(OLAP_ERR_BE_CLONE_OCCURRED, -813, "", true)                        \
-    M(OLAP_ERR_PUSH_INIT_ERROR, -900, "", true)                          \
-    M(OLAP_ERR_PUSH_DELTA_FILE_EOF, -901, "", false)                     \
-    M(OLAP_ERR_PUSH_VERSION_INCORRECT, -902, "", true)                   \
-    M(OLAP_ERR_PUSH_SCHEMA_MISMATCH, -903, "", true)                     \
-    M(OLAP_ERR_PUSH_CHECKSUM_ERROR, -904, "", true)                      \
-    M(OLAP_ERR_PUSH_ACQUIRE_DATASOURCE_ERROR, -905, "", true)            \
-    M(OLAP_ERR_PUSH_CREAT_CUMULATIVE_ERROR, -906, "", true)              \
-    M(OLAP_ERR_PUSH_BUILD_DELTA_ERROR, -907, "", true)                   \
-    M(OLAP_ERR_PUSH_VERSION_ALREADY_EXIST, -908, "", true)               \
-    M(OLAP_ERR_PUSH_TABLE_NOT_EXIST, -909, "", true)                     \
-    M(OLAP_ERR_PUSH_INPUT_DATA_ERROR, -910, "", true)                    \
-    M(OLAP_ERR_PUSH_TRANSACTION_ALREADY_EXIST, -911, "", true)           \
-    M(OLAP_ERR_PUSH_BATCH_PROCESS_REMOVED, -912, "", true)               \
-    M(OLAP_ERR_PUSH_COMMIT_ROWSET, -913, "", true)                       \
-    M(OLAP_ERR_PUSH_ROWSET_NOT_FOUND, -914, "", true)                    \
-    M(OLAP_ERR_INDEX_LOAD_ERROR, -1000, "", true)                        \
-    M(OLAP_ERR_INDEX_EOF, -1001, "", false)                              \
-    M(OLAP_ERR_INDEX_CHECKSUM_ERROR, -1002, "", true)                    \
-    M(OLAP_ERR_INDEX_DELTA_PRUNING, -1003, "", true)                     \
-    M(OLAP_ERR_DATA_ROW_BLOCK_ERROR, -1100, "", true)                    \
-    M(OLAP_ERR_DATA_FILE_TYPE_ERROR, -1101, "", true)                    \
-    M(OLAP_ERR_DATA_EOF, -1102, "", false)                               \
-    M(OLAP_ERR_WRITER_INDEX_WRITE_ERROR, -1200, "", true)                \
-    M(OLAP_ERR_WRITER_DATA_WRITE_ERROR, -1201, "", true)                 \
-    M(OLAP_ERR_WRITER_ROW_BLOCK_ERROR, -1202, "", true)                  \
-    M(OLAP_ERR_WRITER_SEGMENT_NOT_FINALIZED, -1203, "", true)            \
-    M(OLAP_ERR_ROWBLOCK_DECOMPRESS_ERROR, -1300, "", true)               \
-    M(OLAP_ERR_ROWBLOCK_FIND_ROW_EXCEPTION, -1301, "", true)             \
-    M(OLAP_ERR_ROWBLOCK_READ_INFO_ERROR, -1302, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_VERSION, -1400, "", true)                      \
-    M(OLAP_ERR_HEADER_DELETE_VERSION, -1401, "", true)                   \
-    M(OLAP_ERR_HEADER_ADD_PENDING_DELTA, -1402, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_INCREMENTAL_VERSION, -1403, "", true)          \
-    M(OLAP_ERR_HEADER_INVALID_FLAG, -1404, "", true)                     \
-    M(OLAP_ERR_HEADER_PUT, -1405, "", true)                              \
-    M(OLAP_ERR_HEADER_DELETE, -1406, "", true)                           \
-    M(OLAP_ERR_HEADER_GET, -1407, "", true)                              \
-    M(OLAP_ERR_HEADER_LOAD_INVALID_KEY, -1408, "", true)                 \
-    M(OLAP_ERR_HEADER_FLAG_PUT, -1409, "", true)                         \
-    M(OLAP_ERR_HEADER_LOAD_JSON_HEADER, -1410, "", true)                 \
-    M(OLAP_ERR_HEADER_INIT_FAILED, -1411, "", true)                      \
-    M(OLAP_ERR_HEADER_PB_PARSE_FAILED, -1412, "", true)                  \
-    M(OLAP_ERR_HEADER_HAS_PENDING_DATA, -1413, "", false)                \
-    M(OLAP_ERR_SCHEMA_SCHEMA_INVALID, -1500, "", false)                  \
-    M(OLAP_ERR_SCHEMA_SCHEMA_FIELD_INVALID, -1501, "", true)             \
-    M(OLAP_ERR_ALTER_MULTI_TABLE_ERR, -1600, "", true)                   \
-    M(OLAP_ERR_ALTER_DELTA_DOES_NOT_EXISTS, -1601, "", true)             \
-    M(OLAP_ERR_ALTER_STATUS_ERR, -1602, "", true)                        \
-    M(OLAP_ERR_PREVIOUS_SCHEMA_CHANGE_NOT_FINISHED, -1603, "", true)     \
-    M(OLAP_ERR_SCHEMA_CHANGE_INFO_INVALID, -1604, "", true)              \
-    M(OLAP_ERR_QUERY_SPLIT_KEY_ERR, -1605, "", true)                     \
-    M(OLAP_ERR_DATA_QUALITY_ERR, -1606, "", true)                        \
-    M(OLAP_ERR_COLUMN_DATA_LOAD_BLOCK, -1700, "", true)                  \
-    M(OLAP_ERR_COLUMN_DATA_RECORD_INDEX, -1701, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_MAKE_FILE_HEADER, -1702, "", true)            \
-    M(OLAP_ERR_COLUMN_DATA_READ_VAR_INT, -1703, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_PATCH_LIST_NUM, -1704, "", true)              \
-    M(OLAP_ERR_COLUMN_STREAM_EOF, -1705, "", false)                      \
-    M(OLAP_ERR_COLUMN_READ_STREAM, -1706, "", true)                      \
-    M(OLAP_ERR_COLUMN_STREAM_NOT_EXIST, -1716, "", true)                 \
-    M(OLAP_ERR_COLUMN_VALUE_NULL, -1717, "", true)                       \
-    M(OLAP_ERR_COLUMN_SEEK_ERROR, -1719, "", true)                       \
-    M(OLAP_ERR_DELETE_INVALID_CONDITION, -1900, "", true)                \
-    M(OLAP_ERR_DELETE_UPDATE_HEADER_FAILED, -1901, "", true)             \
-    M(OLAP_ERR_DELETE_SAVE_HEADER_FAILED, -1902, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_PARAMETERS, -1903, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_VERSION, -1904, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_NO_SUITABLE_VERSION, -2000, "", false)         \
-    M(OLAP_ERR_CUMULATIVE_REPEAT_INIT, -2001, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_INVALID_PARAMETERS, -2002, "", true)           \
-    M(OLAP_ERR_CUMULATIVE_FAILED_ACQUIRE_DATA_SOURCE, -2003, "", true)   \
-    M(OLAP_ERR_CUMULATIVE_INVALID_NEED_MERGED_VERSIONS, -2004, "", true) \
-    M(OLAP_ERR_CUMULATIVE_ERROR_DELETE_ACTION, -2005, "", true)          \
-    M(OLAP_ERR_CUMULATIVE_MISS_VERSION, -2006, "", true)                 \
-    M(OLAP_ERR_CUMULATIVE_CLONE_OCCURRED, -2007, "", true)               \
-    M(OLAP_ERR_META_INVALID_ARGUMENT, -3000, "", true)                   \
-    M(OLAP_ERR_META_OPEN_DB, -3001, "", true)                            \
-    M(OLAP_ERR_META_KEY_NOT_FOUND, -3002, "", true)                      \
-    M(OLAP_ERR_META_GET, -3003, "", true)                                \
-    M(OLAP_ERR_META_PUT, -3004, "", true)                                \
-    M(OLAP_ERR_META_ITERATOR, -3005, "", true)                           \
-    M(OLAP_ERR_META_DELETE, -3006, "", true)                             \
-    M(OLAP_ERR_META_ALREADY_EXIST, -3007, "", true)                      \
-    M(OLAP_ERR_ROWSET_WRITER_INIT, -3100, "", true)                      \
-    M(OLAP_ERR_ROWSET_SAVE_FAILED, -3101, "", true)                      \
-    M(OLAP_ERR_ROWSET_GENERATE_ID_FAILED, -3102, "", true)               \
-    M(OLAP_ERR_ROWSET_DELETE_FILE_FAILED, -3103, "", true)               \
-    M(OLAP_ERR_ROWSET_BUILDER_INIT, -3104, "", true)                     \
-    M(OLAP_ERR_ROWSET_TYPE_NOT_FOUND, -3105, "", true)                   \
-    M(OLAP_ERR_ROWSET_ALREADY_EXIST, -3106, "", true)                    \
-    M(OLAP_ERR_ROWSET_CREATE_READER, -3107, "", true)                    \
-    M(OLAP_ERR_ROWSET_INVALID, -3108, "", true)                          \
-    M(OLAP_ERR_ROWSET_LOAD_FAILED, -3109, "", true)                      \
-    M(OLAP_ERR_ROWSET_READER_INIT, -3110, "", true)                      \
-    M(OLAP_ERR_ROWSET_READ_FAILED, -3111, "", true)                      \
-    M(OLAP_ERR_ROWSET_INVALID_STATE_TRANSITION, -3112, "", true)         \
-    M(OLAP_ERR_STRING_OVERFLOW_IN_VEC_ENGINE, -3113, "", true)           \
-    M(OLAP_ERR_ROWSET_ADD_MIGRATION_V2, -3114, "", true)                 \
-    M(OLAP_ERR_PUBLISH_VERSION_NOT_CONTINUOUS, -3115, "", false)         \
-    M(OLAP_ERR_ROWSET_RENAME_FILE_FAILED, -3116, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_READER, -3117, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_WRITER, -3118, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_FAILED, -3119, "", false)
-
-enum ErrorCode {
-#define M(NAME, ERRORCODE, DESC, STACKTRACEENABLED) NAME = ERRORCODE,
-    APPLY_FOR_ERROR_CODES(M)
-#undef M
-};
+namespace ErrorCode {
+#define E(name, code) static constexpr int name = code
+E(OK, 0);
+#define TStatusError(name) E(name, TStatusCode::name)
+// Errors defined in TStatus
+TStatusError(PUBLISH_TIMEOUT);
+TStatusError(MEM_ALLOC_FAILED);
+TStatusError(BUFFER_ALLOCATION_FAILED);
+TStatusError(INVALID_ARGUMENT);
+TStatusError(MINIMUM_RESERVATION_UNAVAILABLE);
+TStatusError(CORRUPTION);
+TStatusError(IO_ERROR);
+TStatusError(NOT_FOUND);
+TStatusError(ALREADY_EXIST);
+TStatusError(NOT_IMPLEMENTED_ERROR);
+TStatusError(END_OF_FILE);
+TStatusError(INTERNAL_ERROR);
+TStatusError(RUNTIME_ERROR);
+TStatusError(CANCELLED);
+TStatusError(MEM_LIMIT_EXCEEDED);
+TStatusError(THRIFT_RPC_ERROR);
+TStatusError(TIMEOUT);
+TStatusError(TOO_MANY_TASKS);
+TStatusError(SERVICE_UNAVAILABLE);
+TStatusError(UNINITIALIZED);
+TStatusError(ABORTED);
+TStatusError(DATA_QUALITY_ERROR);
+TStatusError(LABEL_ALREADY_EXISTS);
+#undef TStatusError
+// BE internal errors
+E(OS_ERROR, -100);
+E(DIR_NOT_EXIST, -101);
+E(FILE_NOT_EXIST, -102);
+E(CREATE_FILE_ERROR, -103);
+E(STL_ERROR, -105);
+E(MUTEX_ERROR, -107);
+E(PTHREAD_ERROR, -108);

Review Comment:
   warning: unused variable 'PTHREAD_ERROR' [clang-diagnostic-unused-const-variable]
   ```cpp
   E(PTHREAD_ERROR, -108);
     ^
   ```
   



##########
be/src/olap/types.h:
##########
@@ -1493,8 +1493,7 @@ struct FieldTypeTraits<OLAP_FIELD_TYPE_VARCHAR> : public FieldTypeTraits<OLAP_FI
         case OLAP_FIELD_TYPE_DOUBLE:
         case OLAP_FIELD_TYPE_DECIMAL: {
             auto result = src_type->to_string(src);
-            if (result.size() > variable_len)
-                return Status::OLAPInternalError(OLAP_ERR_INPUT_PARAMETER_ERROR);
+            if (result.size() > variable_len) return Status::Error<ErrorCode::INVALID_ARGUMENT>();
             auto slice = reinterpret_cast<Slice*>(dest);

Review Comment:
   warning: statement should be inside braces [readability-braces-around-statements]
   
   ```suggestion
   src_type->to_string(src);
   ode::INVALID_ARGUMENT>(); {
   }
   ```
   



##########
be/src/common/status.h:
##########
@@ -12,249 +12,283 @@
 #include <string_view>
 
 #include "common/compiler_util.h"
-#include "common/logging.h"
 #include "gen_cpp/Status_types.h" // for TStatus
+#ifdef ENABLE_STACKTRACE
+#include "util/stack_util.h"
+#endif
 
 namespace doris {
 
 class PStatus;
 
-// ErrorName, ErrorCode, String Description, Should print stacktrace
-#define APPLY_FOR_ERROR_CODES(M)                                         \
-    M(OLAP_SUCCESS, 0, "", false)                                        \
-    M(OLAP_ERR_OTHER_ERROR, -1, "", true)                                \
-    M(OLAP_REQUEST_FAILED, -2, "", false)                                \
-    M(OLAP_ERR_OS_ERROR, -100, "", true)                                 \
-    M(OLAP_ERR_DIR_NOT_EXIST, -101, "", true)                            \
-    M(OLAP_ERR_FILE_NOT_EXIST, -102, "", true)                           \
-    M(OLAP_ERR_CREATE_FILE_ERROR, -103, "", true)                        \
-    M(OLAP_ERR_MALLOC_ERROR, -104, "", true)                             \
-    M(OLAP_ERR_STL_ERROR, -105, "", true)                                \
-    M(OLAP_ERR_IO_ERROR, -106, "", true)                                 \
-    M(OLAP_ERR_MUTEX_ERROR, -107, "", true)                              \
-    M(OLAP_ERR_PTHREAD_ERROR, -108, "", true)                            \
-    M(OLAP_ERR_NETWORK_ERROR, -109, "", true)                            \
-    M(OLAP_ERR_UB_FUNC_ERROR, -110, "", true)                            \
-    M(OLAP_ERR_COMPRESS_ERROR, -111, "", true)                           \
-    M(OLAP_ERR_DECOMPRESS_ERROR, -112, "", true)                         \
-    M(OLAP_ERR_UNKNOWN_COMPRESSION_TYPE, -113, "", true)                 \
-    M(OLAP_ERR_MMAP_ERROR, -114, "", true)                               \
-    M(OLAP_ERR_RWLOCK_ERROR, -115, "", true)                             \
-    M(OLAP_ERR_READ_UNENOUGH, -116, "", true)                            \
-    M(OLAP_ERR_CANNOT_CREATE_DIR, -117, "", true)                        \
-    M(OLAP_ERR_UB_NETWORK_ERROR, -118, "", true)                         \
-    M(OLAP_ERR_FILE_FORMAT_ERROR, -119, "", true)                        \
-    M(OLAP_ERR_EVAL_CONJUNCTS_ERROR, -120, "", true)                     \
-    M(OLAP_ERR_COPY_FILE_ERROR, -121, "", true)                          \
-    M(OLAP_ERR_FILE_ALREADY_EXIST, -122, "", true)                       \
-    M(OLAP_ERR_NOT_INITED, -200, "", true)                               \
-    M(OLAP_ERR_FUNC_NOT_IMPLEMENTED, -201, "", true)                     \
-    M(OLAP_ERR_CALL_SEQUENCE_ERROR, -202, "", true)                      \
-    M(OLAP_ERR_INPUT_PARAMETER_ERROR, -203, "", true)                    \
-    M(OLAP_ERR_BUFFER_OVERFLOW, -204, "", true)                          \
-    M(OLAP_ERR_CONFIG_ERROR, -205, "", true)                             \
-    M(OLAP_ERR_INIT_FAILED, -206, "", true)                              \
-    M(OLAP_ERR_INVALID_SCHEMA, -207, "", true)                           \
-    M(OLAP_ERR_CHECKSUM_ERROR, -208, "", true)                           \
-    M(OLAP_ERR_SIGNATURE_ERROR, -209, "", true)                          \
-    M(OLAP_ERR_CATCH_EXCEPTION, -210, "", true)                          \
-    M(OLAP_ERR_PARSE_PROTOBUF_ERROR, -211, "", true)                     \
-    M(OLAP_ERR_SERIALIZE_PROTOBUF_ERROR, -212, "", true)                 \
-    M(OLAP_ERR_WRITE_PROTOBUF_ERROR, -213, "", true)                     \
-    M(OLAP_ERR_VERSION_NOT_EXIST, -214, "", true)                        \
-    M(OLAP_ERR_TABLE_NOT_FOUND, -215, "", true)                          \
-    M(OLAP_ERR_TRY_LOCK_FAILED, -216, "", true)                          \
-    M(OLAP_ERR_OUT_OF_BOUND, -218, "", true)                             \
-    M(OLAP_ERR_UNDERFLOW, -219, "", true)                                \
-    M(OLAP_ERR_FILE_DATA_ERROR, -220, "", true)                          \
-    M(OLAP_ERR_TEST_FILE_ERROR, -221, "", true)                          \
-    M(OLAP_ERR_INVALID_ROOT_PATH, -222, "", true)                        \
-    M(OLAP_ERR_NO_AVAILABLE_ROOT_PATH, -223, "", true)                   \
-    M(OLAP_ERR_CHECK_LINES_ERROR, -224, "", true)                        \
-    M(OLAP_ERR_INVALID_CLUSTER_INFO, -225, "", true)                     \
-    M(OLAP_ERR_TRANSACTION_NOT_EXIST, -226, "", true)                    \
-    M(OLAP_ERR_DISK_FAILURE, -227, "", true)                             \
-    M(OLAP_ERR_TRANSACTION_ALREADY_COMMITTED, -228, "", true)            \
-    M(OLAP_ERR_TRANSACTION_ALREADY_VISIBLE, -229, "", true)              \
-    M(OLAP_ERR_VERSION_ALREADY_MERGED, -230, "", true)                   \
-    M(OLAP_ERR_LZO_DISABLED, -231, "", true)                             \
-    M(OLAP_ERR_DISK_REACH_CAPACITY_LIMIT, -232, "", true)                \
-    M(OLAP_ERR_TOO_MANY_TRANSACTIONS, -233, "", true)                    \
-    M(OLAP_ERR_INVALID_SNAPSHOT_VERSION, -234, "", true)                 \
-    M(OLAP_ERR_TOO_MANY_VERSION, -235, "", true)                         \
-    M(OLAP_ERR_NOT_INITIALIZED, -236, "", true)                          \
-    M(OLAP_ERR_ALREADY_CANCELLED, -237, "", true)                        \
-    M(OLAP_ERR_TOO_MANY_SEGMENTS, -238, "", true)                        \
-    M(OLAP_ERR_CE_CMD_PARAMS_ERROR, -300, "", true)                      \
-    M(OLAP_ERR_CE_BUFFER_TOO_SMALL, -301, "", true)                      \
-    M(OLAP_ERR_CE_CMD_NOT_VALID, -302, "", true)                         \
-    M(OLAP_ERR_CE_LOAD_TABLE_ERROR, -303, "", true)                      \
-    M(OLAP_ERR_CE_NOT_FINISHED, -304, "", true)                          \
-    M(OLAP_ERR_CE_TABLET_ID_EXIST, -305, "", true)                       \
-    M(OLAP_ERR_CE_TRY_CE_LOCK_ERROR, -306, "", false)                    \
-    M(OLAP_ERR_TABLE_VERSION_DUPLICATE_ERROR, -400, "", true)            \
-    M(OLAP_ERR_TABLE_VERSION_INDEX_MISMATCH_ERROR, -401, "", true)       \
-    M(OLAP_ERR_TABLE_INDEX_VALIDATE_ERROR, -402, "", true)               \
-    M(OLAP_ERR_TABLE_INDEX_FIND_ERROR, -403, "", true)                   \
-    M(OLAP_ERR_TABLE_CREATE_FROM_HEADER_ERROR, -404, "", true)           \
-    M(OLAP_ERR_TABLE_CREATE_META_ERROR, -405, "", true)                  \
-    M(OLAP_ERR_TABLE_ALREADY_DELETED_ERROR, -406, "", false)             \
-    M(OLAP_ERR_ENGINE_INSERT_EXISTS_TABLE, -500, "", true)               \
-    M(OLAP_ERR_ENGINE_DROP_NOEXISTS_TABLE, -501, "", true)               \
-    M(OLAP_ERR_ENGINE_LOAD_INDEX_TABLE_ERROR, -502, "", true)            \
-    M(OLAP_ERR_TABLE_INSERT_DUPLICATION_ERROR, -503, "", true)           \
-    M(OLAP_ERR_DELETE_VERSION_ERROR, -504, "", true)                     \
-    M(OLAP_ERR_GC_SCAN_PATH_ERROR, -505, "", true)                       \
-    M(OLAP_ERR_ENGINE_INSERT_OLD_TABLET, -506, "", true)                 \
-    M(OLAP_ERR_FETCH_OTHER_ERROR, -600, "", true)                        \
-    M(OLAP_ERR_FETCH_TABLE_NOT_EXIST, -601, "", true)                    \
-    M(OLAP_ERR_FETCH_VERSION_ERROR, -602, "", true)                      \
-    M(OLAP_ERR_FETCH_SCHEMA_ERROR, -603, "", true)                       \
-    M(OLAP_ERR_FETCH_COMPRESSION_ERROR, -604, "", true)                  \
-    M(OLAP_ERR_FETCH_CONTEXT_NOT_EXIST, -605, "", true)                  \
-    M(OLAP_ERR_FETCH_GET_READER_PARAMS_ERR, -606, "", true)              \
-    M(OLAP_ERR_FETCH_SAVE_SESSION_ERR, -607, "", true)                   \
-    M(OLAP_ERR_FETCH_MEMORY_EXCEEDED, -608, "", true)                    \
-    M(OLAP_ERR_READER_IS_UNINITIALIZED, -700, "", true)                  \
-    M(OLAP_ERR_READER_GET_ITERATOR_ERROR, -701, "", true)                \
-    M(OLAP_ERR_CAPTURE_ROWSET_READER_ERROR, -702, "", true)              \
-    M(OLAP_ERR_READER_READING_ERROR, -703, "", true)                     \
-    M(OLAP_ERR_READER_INITIALIZE_ERROR, -704, "", true)                  \
-    M(OLAP_ERR_BE_VERSION_NOT_MATCH, -800, "", true)                     \
-    M(OLAP_ERR_BE_REPLACE_VERSIONS_ERROR, -801, "", true)                \
-    M(OLAP_ERR_BE_MERGE_ERROR, -802, "", true)                           \
-    M(OLAP_ERR_CAPTURE_ROWSET_ERROR, -804, "", true)                     \
-    M(OLAP_ERR_BE_SAVE_HEADER_ERROR, -805, "", true)                     \
-    M(OLAP_ERR_BE_INIT_OLAP_DATA, -806, "", true)                        \
-    M(OLAP_ERR_BE_TRY_OBTAIN_VERSION_LOCKS, -807, "", true)              \
-    M(OLAP_ERR_BE_NO_SUITABLE_VERSION, -808, "", false)                  \
-    M(OLAP_ERR_BE_TRY_BE_LOCK_ERROR, -809, "", true)                     \
-    M(OLAP_ERR_BE_INVALID_NEED_MERGED_VERSIONS, -810, "", true)          \
-    M(OLAP_ERR_BE_ERROR_DELETE_ACTION, -811, "", true)                   \
-    M(OLAP_ERR_BE_SEGMENTS_OVERLAPPING, -812, "", true)                  \
-    M(OLAP_ERR_BE_CLONE_OCCURRED, -813, "", true)                        \
-    M(OLAP_ERR_PUSH_INIT_ERROR, -900, "", true)                          \
-    M(OLAP_ERR_PUSH_DELTA_FILE_EOF, -901, "", false)                     \
-    M(OLAP_ERR_PUSH_VERSION_INCORRECT, -902, "", true)                   \
-    M(OLAP_ERR_PUSH_SCHEMA_MISMATCH, -903, "", true)                     \
-    M(OLAP_ERR_PUSH_CHECKSUM_ERROR, -904, "", true)                      \
-    M(OLAP_ERR_PUSH_ACQUIRE_DATASOURCE_ERROR, -905, "", true)            \
-    M(OLAP_ERR_PUSH_CREAT_CUMULATIVE_ERROR, -906, "", true)              \
-    M(OLAP_ERR_PUSH_BUILD_DELTA_ERROR, -907, "", true)                   \
-    M(OLAP_ERR_PUSH_VERSION_ALREADY_EXIST, -908, "", true)               \
-    M(OLAP_ERR_PUSH_TABLE_NOT_EXIST, -909, "", true)                     \
-    M(OLAP_ERR_PUSH_INPUT_DATA_ERROR, -910, "", true)                    \
-    M(OLAP_ERR_PUSH_TRANSACTION_ALREADY_EXIST, -911, "", true)           \
-    M(OLAP_ERR_PUSH_BATCH_PROCESS_REMOVED, -912, "", true)               \
-    M(OLAP_ERR_PUSH_COMMIT_ROWSET, -913, "", true)                       \
-    M(OLAP_ERR_PUSH_ROWSET_NOT_FOUND, -914, "", true)                    \
-    M(OLAP_ERR_INDEX_LOAD_ERROR, -1000, "", true)                        \
-    M(OLAP_ERR_INDEX_EOF, -1001, "", false)                              \
-    M(OLAP_ERR_INDEX_CHECKSUM_ERROR, -1002, "", true)                    \
-    M(OLAP_ERR_INDEX_DELTA_PRUNING, -1003, "", true)                     \
-    M(OLAP_ERR_DATA_ROW_BLOCK_ERROR, -1100, "", true)                    \
-    M(OLAP_ERR_DATA_FILE_TYPE_ERROR, -1101, "", true)                    \
-    M(OLAP_ERR_DATA_EOF, -1102, "", false)                               \
-    M(OLAP_ERR_WRITER_INDEX_WRITE_ERROR, -1200, "", true)                \
-    M(OLAP_ERR_WRITER_DATA_WRITE_ERROR, -1201, "", true)                 \
-    M(OLAP_ERR_WRITER_ROW_BLOCK_ERROR, -1202, "", true)                  \
-    M(OLAP_ERR_WRITER_SEGMENT_NOT_FINALIZED, -1203, "", true)            \
-    M(OLAP_ERR_ROWBLOCK_DECOMPRESS_ERROR, -1300, "", true)               \
-    M(OLAP_ERR_ROWBLOCK_FIND_ROW_EXCEPTION, -1301, "", true)             \
-    M(OLAP_ERR_ROWBLOCK_READ_INFO_ERROR, -1302, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_VERSION, -1400, "", true)                      \
-    M(OLAP_ERR_HEADER_DELETE_VERSION, -1401, "", true)                   \
-    M(OLAP_ERR_HEADER_ADD_PENDING_DELTA, -1402, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_INCREMENTAL_VERSION, -1403, "", true)          \
-    M(OLAP_ERR_HEADER_INVALID_FLAG, -1404, "", true)                     \
-    M(OLAP_ERR_HEADER_PUT, -1405, "", true)                              \
-    M(OLAP_ERR_HEADER_DELETE, -1406, "", true)                           \
-    M(OLAP_ERR_HEADER_GET, -1407, "", true)                              \
-    M(OLAP_ERR_HEADER_LOAD_INVALID_KEY, -1408, "", true)                 \
-    M(OLAP_ERR_HEADER_FLAG_PUT, -1409, "", true)                         \
-    M(OLAP_ERR_HEADER_LOAD_JSON_HEADER, -1410, "", true)                 \
-    M(OLAP_ERR_HEADER_INIT_FAILED, -1411, "", true)                      \
-    M(OLAP_ERR_HEADER_PB_PARSE_FAILED, -1412, "", true)                  \
-    M(OLAP_ERR_HEADER_HAS_PENDING_DATA, -1413, "", false)                \
-    M(OLAP_ERR_SCHEMA_SCHEMA_INVALID, -1500, "", false)                  \
-    M(OLAP_ERR_SCHEMA_SCHEMA_FIELD_INVALID, -1501, "", true)             \
-    M(OLAP_ERR_ALTER_MULTI_TABLE_ERR, -1600, "", true)                   \
-    M(OLAP_ERR_ALTER_DELTA_DOES_NOT_EXISTS, -1601, "", true)             \
-    M(OLAP_ERR_ALTER_STATUS_ERR, -1602, "", true)                        \
-    M(OLAP_ERR_PREVIOUS_SCHEMA_CHANGE_NOT_FINISHED, -1603, "", true)     \
-    M(OLAP_ERR_SCHEMA_CHANGE_INFO_INVALID, -1604, "", true)              \
-    M(OLAP_ERR_QUERY_SPLIT_KEY_ERR, -1605, "", true)                     \
-    M(OLAP_ERR_DATA_QUALITY_ERR, -1606, "", true)                        \
-    M(OLAP_ERR_COLUMN_DATA_LOAD_BLOCK, -1700, "", true)                  \
-    M(OLAP_ERR_COLUMN_DATA_RECORD_INDEX, -1701, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_MAKE_FILE_HEADER, -1702, "", true)            \
-    M(OLAP_ERR_COLUMN_DATA_READ_VAR_INT, -1703, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_PATCH_LIST_NUM, -1704, "", true)              \
-    M(OLAP_ERR_COLUMN_STREAM_EOF, -1705, "", false)                      \
-    M(OLAP_ERR_COLUMN_READ_STREAM, -1706, "", true)                      \
-    M(OLAP_ERR_COLUMN_STREAM_NOT_EXIST, -1716, "", true)                 \
-    M(OLAP_ERR_COLUMN_VALUE_NULL, -1717, "", true)                       \
-    M(OLAP_ERR_COLUMN_SEEK_ERROR, -1719, "", true)                       \
-    M(OLAP_ERR_DELETE_INVALID_CONDITION, -1900, "", true)                \
-    M(OLAP_ERR_DELETE_UPDATE_HEADER_FAILED, -1901, "", true)             \
-    M(OLAP_ERR_DELETE_SAVE_HEADER_FAILED, -1902, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_PARAMETERS, -1903, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_VERSION, -1904, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_NO_SUITABLE_VERSION, -2000, "", false)         \
-    M(OLAP_ERR_CUMULATIVE_REPEAT_INIT, -2001, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_INVALID_PARAMETERS, -2002, "", true)           \
-    M(OLAP_ERR_CUMULATIVE_FAILED_ACQUIRE_DATA_SOURCE, -2003, "", true)   \
-    M(OLAP_ERR_CUMULATIVE_INVALID_NEED_MERGED_VERSIONS, -2004, "", true) \
-    M(OLAP_ERR_CUMULATIVE_ERROR_DELETE_ACTION, -2005, "", true)          \
-    M(OLAP_ERR_CUMULATIVE_MISS_VERSION, -2006, "", true)                 \
-    M(OLAP_ERR_CUMULATIVE_CLONE_OCCURRED, -2007, "", true)               \
-    M(OLAP_ERR_META_INVALID_ARGUMENT, -3000, "", true)                   \
-    M(OLAP_ERR_META_OPEN_DB, -3001, "", true)                            \
-    M(OLAP_ERR_META_KEY_NOT_FOUND, -3002, "", true)                      \
-    M(OLAP_ERR_META_GET, -3003, "", true)                                \
-    M(OLAP_ERR_META_PUT, -3004, "", true)                                \
-    M(OLAP_ERR_META_ITERATOR, -3005, "", true)                           \
-    M(OLAP_ERR_META_DELETE, -3006, "", true)                             \
-    M(OLAP_ERR_META_ALREADY_EXIST, -3007, "", true)                      \
-    M(OLAP_ERR_ROWSET_WRITER_INIT, -3100, "", true)                      \
-    M(OLAP_ERR_ROWSET_SAVE_FAILED, -3101, "", true)                      \
-    M(OLAP_ERR_ROWSET_GENERATE_ID_FAILED, -3102, "", true)               \
-    M(OLAP_ERR_ROWSET_DELETE_FILE_FAILED, -3103, "", true)               \
-    M(OLAP_ERR_ROWSET_BUILDER_INIT, -3104, "", true)                     \
-    M(OLAP_ERR_ROWSET_TYPE_NOT_FOUND, -3105, "", true)                   \
-    M(OLAP_ERR_ROWSET_ALREADY_EXIST, -3106, "", true)                    \
-    M(OLAP_ERR_ROWSET_CREATE_READER, -3107, "", true)                    \
-    M(OLAP_ERR_ROWSET_INVALID, -3108, "", true)                          \
-    M(OLAP_ERR_ROWSET_LOAD_FAILED, -3109, "", true)                      \
-    M(OLAP_ERR_ROWSET_READER_INIT, -3110, "", true)                      \
-    M(OLAP_ERR_ROWSET_READ_FAILED, -3111, "", true)                      \
-    M(OLAP_ERR_ROWSET_INVALID_STATE_TRANSITION, -3112, "", true)         \
-    M(OLAP_ERR_STRING_OVERFLOW_IN_VEC_ENGINE, -3113, "", true)           \
-    M(OLAP_ERR_ROWSET_ADD_MIGRATION_V2, -3114, "", true)                 \
-    M(OLAP_ERR_PUBLISH_VERSION_NOT_CONTINUOUS, -3115, "", false)         \
-    M(OLAP_ERR_ROWSET_RENAME_FILE_FAILED, -3116, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_READER, -3117, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_WRITER, -3118, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_FAILED, -3119, "", false)
-
-enum ErrorCode {
-#define M(NAME, ERRORCODE, DESC, STACKTRACEENABLED) NAME = ERRORCODE,
-    APPLY_FOR_ERROR_CODES(M)
-#undef M
-};
+namespace ErrorCode {
+#define E(name, code) static constexpr int name = code
+E(OK, 0);
+#define TStatusError(name) E(name, TStatusCode::name)
+// Errors defined in TStatus
+TStatusError(PUBLISH_TIMEOUT);
+TStatusError(MEM_ALLOC_FAILED);
+TStatusError(BUFFER_ALLOCATION_FAILED);
+TStatusError(INVALID_ARGUMENT);
+TStatusError(MINIMUM_RESERVATION_UNAVAILABLE);
+TStatusError(CORRUPTION);
+TStatusError(IO_ERROR);
+TStatusError(NOT_FOUND);
+TStatusError(ALREADY_EXIST);
+TStatusError(NOT_IMPLEMENTED_ERROR);
+TStatusError(END_OF_FILE);
+TStatusError(INTERNAL_ERROR);
+TStatusError(RUNTIME_ERROR);
+TStatusError(CANCELLED);
+TStatusError(MEM_LIMIT_EXCEEDED);
+TStatusError(THRIFT_RPC_ERROR);
+TStatusError(TIMEOUT);
+TStatusError(TOO_MANY_TASKS);
+TStatusError(SERVICE_UNAVAILABLE);
+TStatusError(UNINITIALIZED);
+TStatusError(ABORTED);
+TStatusError(DATA_QUALITY_ERROR);
+TStatusError(LABEL_ALREADY_EXISTS);
+#undef TStatusError
+// BE internal errors
+E(OS_ERROR, -100);
+E(DIR_NOT_EXIST, -101);
+E(FILE_NOT_EXIST, -102);
+E(CREATE_FILE_ERROR, -103);
+E(STL_ERROR, -105);
+E(MUTEX_ERROR, -107);
+E(PTHREAD_ERROR, -108);
+E(NETWORK_ERROR, -109);
+E(UB_FUNC_ERROR, -110);
+E(COMPRESS_ERROR, -111);
+E(DECOMPRESS_ERROR, -112);
+E(UNKNOWN_COMPRESSION_TYPE, -113);
+E(MMAP_ERROR, -114);
+E(READ_UNENOUGH, -116);
+E(CANNOT_CREATE_DIR, -117);

Review Comment:
   warning: unused variable 'CANNOT_CREATE_DIR' [clang-diagnostic-unused-const-variable]
   ```cpp
   E(CANNOT_CREATE_DIR, -117);
     ^
   ```
   



##########
be/test/olap/memtable_flush_executor_test.cpp:
##########
@@ -103,13 +103,13 @@
     EXPECT_EQ(1, flush_handler->get_stats().flush_count);
 
     FlushResult res2;
-    res2.flush_status = Status::OLAPInternalError(OLAP_ERR_OTHER_ERROR);
+    res2.flush_status = Status::Error<OTHER_ERROR>();

Review Comment:
   warning: use of undeclared identifier 'OTHER_ERROR' [clang-diagnostic-error]
   ```cpp
       res2.flush_status = Status::Error<OTHER_ERROR>();
                                         ^
   ```
   



##########
be/src/common/status.h:
##########
@@ -12,249 +12,283 @@
 #include <string_view>
 
 #include "common/compiler_util.h"
-#include "common/logging.h"
 #include "gen_cpp/Status_types.h" // for TStatus
+#ifdef ENABLE_STACKTRACE
+#include "util/stack_util.h"
+#endif
 
 namespace doris {
 
 class PStatus;
 
-// ErrorName, ErrorCode, String Description, Should print stacktrace
-#define APPLY_FOR_ERROR_CODES(M)                                         \
-    M(OLAP_SUCCESS, 0, "", false)                                        \
-    M(OLAP_ERR_OTHER_ERROR, -1, "", true)                                \
-    M(OLAP_REQUEST_FAILED, -2, "", false)                                \
-    M(OLAP_ERR_OS_ERROR, -100, "", true)                                 \
-    M(OLAP_ERR_DIR_NOT_EXIST, -101, "", true)                            \
-    M(OLAP_ERR_FILE_NOT_EXIST, -102, "", true)                           \
-    M(OLAP_ERR_CREATE_FILE_ERROR, -103, "", true)                        \
-    M(OLAP_ERR_MALLOC_ERROR, -104, "", true)                             \
-    M(OLAP_ERR_STL_ERROR, -105, "", true)                                \
-    M(OLAP_ERR_IO_ERROR, -106, "", true)                                 \
-    M(OLAP_ERR_MUTEX_ERROR, -107, "", true)                              \
-    M(OLAP_ERR_PTHREAD_ERROR, -108, "", true)                            \
-    M(OLAP_ERR_NETWORK_ERROR, -109, "", true)                            \
-    M(OLAP_ERR_UB_FUNC_ERROR, -110, "", true)                            \
-    M(OLAP_ERR_COMPRESS_ERROR, -111, "", true)                           \
-    M(OLAP_ERR_DECOMPRESS_ERROR, -112, "", true)                         \
-    M(OLAP_ERR_UNKNOWN_COMPRESSION_TYPE, -113, "", true)                 \
-    M(OLAP_ERR_MMAP_ERROR, -114, "", true)                               \
-    M(OLAP_ERR_RWLOCK_ERROR, -115, "", true)                             \
-    M(OLAP_ERR_READ_UNENOUGH, -116, "", true)                            \
-    M(OLAP_ERR_CANNOT_CREATE_DIR, -117, "", true)                        \
-    M(OLAP_ERR_UB_NETWORK_ERROR, -118, "", true)                         \
-    M(OLAP_ERR_FILE_FORMAT_ERROR, -119, "", true)                        \
-    M(OLAP_ERR_EVAL_CONJUNCTS_ERROR, -120, "", true)                     \
-    M(OLAP_ERR_COPY_FILE_ERROR, -121, "", true)                          \
-    M(OLAP_ERR_FILE_ALREADY_EXIST, -122, "", true)                       \
-    M(OLAP_ERR_NOT_INITED, -200, "", true)                               \
-    M(OLAP_ERR_FUNC_NOT_IMPLEMENTED, -201, "", true)                     \
-    M(OLAP_ERR_CALL_SEQUENCE_ERROR, -202, "", true)                      \
-    M(OLAP_ERR_INPUT_PARAMETER_ERROR, -203, "", true)                    \
-    M(OLAP_ERR_BUFFER_OVERFLOW, -204, "", true)                          \
-    M(OLAP_ERR_CONFIG_ERROR, -205, "", true)                             \
-    M(OLAP_ERR_INIT_FAILED, -206, "", true)                              \
-    M(OLAP_ERR_INVALID_SCHEMA, -207, "", true)                           \
-    M(OLAP_ERR_CHECKSUM_ERROR, -208, "", true)                           \
-    M(OLAP_ERR_SIGNATURE_ERROR, -209, "", true)                          \
-    M(OLAP_ERR_CATCH_EXCEPTION, -210, "", true)                          \
-    M(OLAP_ERR_PARSE_PROTOBUF_ERROR, -211, "", true)                     \
-    M(OLAP_ERR_SERIALIZE_PROTOBUF_ERROR, -212, "", true)                 \
-    M(OLAP_ERR_WRITE_PROTOBUF_ERROR, -213, "", true)                     \
-    M(OLAP_ERR_VERSION_NOT_EXIST, -214, "", true)                        \
-    M(OLAP_ERR_TABLE_NOT_FOUND, -215, "", true)                          \
-    M(OLAP_ERR_TRY_LOCK_FAILED, -216, "", true)                          \
-    M(OLAP_ERR_OUT_OF_BOUND, -218, "", true)                             \
-    M(OLAP_ERR_UNDERFLOW, -219, "", true)                                \
-    M(OLAP_ERR_FILE_DATA_ERROR, -220, "", true)                          \
-    M(OLAP_ERR_TEST_FILE_ERROR, -221, "", true)                          \
-    M(OLAP_ERR_INVALID_ROOT_PATH, -222, "", true)                        \
-    M(OLAP_ERR_NO_AVAILABLE_ROOT_PATH, -223, "", true)                   \
-    M(OLAP_ERR_CHECK_LINES_ERROR, -224, "", true)                        \
-    M(OLAP_ERR_INVALID_CLUSTER_INFO, -225, "", true)                     \
-    M(OLAP_ERR_TRANSACTION_NOT_EXIST, -226, "", true)                    \
-    M(OLAP_ERR_DISK_FAILURE, -227, "", true)                             \
-    M(OLAP_ERR_TRANSACTION_ALREADY_COMMITTED, -228, "", true)            \
-    M(OLAP_ERR_TRANSACTION_ALREADY_VISIBLE, -229, "", true)              \
-    M(OLAP_ERR_VERSION_ALREADY_MERGED, -230, "", true)                   \
-    M(OLAP_ERR_LZO_DISABLED, -231, "", true)                             \
-    M(OLAP_ERR_DISK_REACH_CAPACITY_LIMIT, -232, "", true)                \
-    M(OLAP_ERR_TOO_MANY_TRANSACTIONS, -233, "", true)                    \
-    M(OLAP_ERR_INVALID_SNAPSHOT_VERSION, -234, "", true)                 \
-    M(OLAP_ERR_TOO_MANY_VERSION, -235, "", true)                         \
-    M(OLAP_ERR_NOT_INITIALIZED, -236, "", true)                          \
-    M(OLAP_ERR_ALREADY_CANCELLED, -237, "", true)                        \
-    M(OLAP_ERR_TOO_MANY_SEGMENTS, -238, "", true)                        \
-    M(OLAP_ERR_CE_CMD_PARAMS_ERROR, -300, "", true)                      \
-    M(OLAP_ERR_CE_BUFFER_TOO_SMALL, -301, "", true)                      \
-    M(OLAP_ERR_CE_CMD_NOT_VALID, -302, "", true)                         \
-    M(OLAP_ERR_CE_LOAD_TABLE_ERROR, -303, "", true)                      \
-    M(OLAP_ERR_CE_NOT_FINISHED, -304, "", true)                          \
-    M(OLAP_ERR_CE_TABLET_ID_EXIST, -305, "", true)                       \
-    M(OLAP_ERR_CE_TRY_CE_LOCK_ERROR, -306, "", false)                    \
-    M(OLAP_ERR_TABLE_VERSION_DUPLICATE_ERROR, -400, "", true)            \
-    M(OLAP_ERR_TABLE_VERSION_INDEX_MISMATCH_ERROR, -401, "", true)       \
-    M(OLAP_ERR_TABLE_INDEX_VALIDATE_ERROR, -402, "", true)               \
-    M(OLAP_ERR_TABLE_INDEX_FIND_ERROR, -403, "", true)                   \
-    M(OLAP_ERR_TABLE_CREATE_FROM_HEADER_ERROR, -404, "", true)           \
-    M(OLAP_ERR_TABLE_CREATE_META_ERROR, -405, "", true)                  \
-    M(OLAP_ERR_TABLE_ALREADY_DELETED_ERROR, -406, "", false)             \
-    M(OLAP_ERR_ENGINE_INSERT_EXISTS_TABLE, -500, "", true)               \
-    M(OLAP_ERR_ENGINE_DROP_NOEXISTS_TABLE, -501, "", true)               \
-    M(OLAP_ERR_ENGINE_LOAD_INDEX_TABLE_ERROR, -502, "", true)            \
-    M(OLAP_ERR_TABLE_INSERT_DUPLICATION_ERROR, -503, "", true)           \
-    M(OLAP_ERR_DELETE_VERSION_ERROR, -504, "", true)                     \
-    M(OLAP_ERR_GC_SCAN_PATH_ERROR, -505, "", true)                       \
-    M(OLAP_ERR_ENGINE_INSERT_OLD_TABLET, -506, "", true)                 \
-    M(OLAP_ERR_FETCH_OTHER_ERROR, -600, "", true)                        \
-    M(OLAP_ERR_FETCH_TABLE_NOT_EXIST, -601, "", true)                    \
-    M(OLAP_ERR_FETCH_VERSION_ERROR, -602, "", true)                      \
-    M(OLAP_ERR_FETCH_SCHEMA_ERROR, -603, "", true)                       \
-    M(OLAP_ERR_FETCH_COMPRESSION_ERROR, -604, "", true)                  \
-    M(OLAP_ERR_FETCH_CONTEXT_NOT_EXIST, -605, "", true)                  \
-    M(OLAP_ERR_FETCH_GET_READER_PARAMS_ERR, -606, "", true)              \
-    M(OLAP_ERR_FETCH_SAVE_SESSION_ERR, -607, "", true)                   \
-    M(OLAP_ERR_FETCH_MEMORY_EXCEEDED, -608, "", true)                    \
-    M(OLAP_ERR_READER_IS_UNINITIALIZED, -700, "", true)                  \
-    M(OLAP_ERR_READER_GET_ITERATOR_ERROR, -701, "", true)                \
-    M(OLAP_ERR_CAPTURE_ROWSET_READER_ERROR, -702, "", true)              \
-    M(OLAP_ERR_READER_READING_ERROR, -703, "", true)                     \
-    M(OLAP_ERR_READER_INITIALIZE_ERROR, -704, "", true)                  \
-    M(OLAP_ERR_BE_VERSION_NOT_MATCH, -800, "", true)                     \
-    M(OLAP_ERR_BE_REPLACE_VERSIONS_ERROR, -801, "", true)                \
-    M(OLAP_ERR_BE_MERGE_ERROR, -802, "", true)                           \
-    M(OLAP_ERR_CAPTURE_ROWSET_ERROR, -804, "", true)                     \
-    M(OLAP_ERR_BE_SAVE_HEADER_ERROR, -805, "", true)                     \
-    M(OLAP_ERR_BE_INIT_OLAP_DATA, -806, "", true)                        \
-    M(OLAP_ERR_BE_TRY_OBTAIN_VERSION_LOCKS, -807, "", true)              \
-    M(OLAP_ERR_BE_NO_SUITABLE_VERSION, -808, "", false)                  \
-    M(OLAP_ERR_BE_TRY_BE_LOCK_ERROR, -809, "", true)                     \
-    M(OLAP_ERR_BE_INVALID_NEED_MERGED_VERSIONS, -810, "", true)          \
-    M(OLAP_ERR_BE_ERROR_DELETE_ACTION, -811, "", true)                   \
-    M(OLAP_ERR_BE_SEGMENTS_OVERLAPPING, -812, "", true)                  \
-    M(OLAP_ERR_BE_CLONE_OCCURRED, -813, "", true)                        \
-    M(OLAP_ERR_PUSH_INIT_ERROR, -900, "", true)                          \
-    M(OLAP_ERR_PUSH_DELTA_FILE_EOF, -901, "", false)                     \
-    M(OLAP_ERR_PUSH_VERSION_INCORRECT, -902, "", true)                   \
-    M(OLAP_ERR_PUSH_SCHEMA_MISMATCH, -903, "", true)                     \
-    M(OLAP_ERR_PUSH_CHECKSUM_ERROR, -904, "", true)                      \
-    M(OLAP_ERR_PUSH_ACQUIRE_DATASOURCE_ERROR, -905, "", true)            \
-    M(OLAP_ERR_PUSH_CREAT_CUMULATIVE_ERROR, -906, "", true)              \
-    M(OLAP_ERR_PUSH_BUILD_DELTA_ERROR, -907, "", true)                   \
-    M(OLAP_ERR_PUSH_VERSION_ALREADY_EXIST, -908, "", true)               \
-    M(OLAP_ERR_PUSH_TABLE_NOT_EXIST, -909, "", true)                     \
-    M(OLAP_ERR_PUSH_INPUT_DATA_ERROR, -910, "", true)                    \
-    M(OLAP_ERR_PUSH_TRANSACTION_ALREADY_EXIST, -911, "", true)           \
-    M(OLAP_ERR_PUSH_BATCH_PROCESS_REMOVED, -912, "", true)               \
-    M(OLAP_ERR_PUSH_COMMIT_ROWSET, -913, "", true)                       \
-    M(OLAP_ERR_PUSH_ROWSET_NOT_FOUND, -914, "", true)                    \
-    M(OLAP_ERR_INDEX_LOAD_ERROR, -1000, "", true)                        \
-    M(OLAP_ERR_INDEX_EOF, -1001, "", false)                              \
-    M(OLAP_ERR_INDEX_CHECKSUM_ERROR, -1002, "", true)                    \
-    M(OLAP_ERR_INDEX_DELTA_PRUNING, -1003, "", true)                     \
-    M(OLAP_ERR_DATA_ROW_BLOCK_ERROR, -1100, "", true)                    \
-    M(OLAP_ERR_DATA_FILE_TYPE_ERROR, -1101, "", true)                    \
-    M(OLAP_ERR_DATA_EOF, -1102, "", false)                               \
-    M(OLAP_ERR_WRITER_INDEX_WRITE_ERROR, -1200, "", true)                \
-    M(OLAP_ERR_WRITER_DATA_WRITE_ERROR, -1201, "", true)                 \
-    M(OLAP_ERR_WRITER_ROW_BLOCK_ERROR, -1202, "", true)                  \
-    M(OLAP_ERR_WRITER_SEGMENT_NOT_FINALIZED, -1203, "", true)            \
-    M(OLAP_ERR_ROWBLOCK_DECOMPRESS_ERROR, -1300, "", true)               \
-    M(OLAP_ERR_ROWBLOCK_FIND_ROW_EXCEPTION, -1301, "", true)             \
-    M(OLAP_ERR_ROWBLOCK_READ_INFO_ERROR, -1302, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_VERSION, -1400, "", true)                      \
-    M(OLAP_ERR_HEADER_DELETE_VERSION, -1401, "", true)                   \
-    M(OLAP_ERR_HEADER_ADD_PENDING_DELTA, -1402, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_INCREMENTAL_VERSION, -1403, "", true)          \
-    M(OLAP_ERR_HEADER_INVALID_FLAG, -1404, "", true)                     \
-    M(OLAP_ERR_HEADER_PUT, -1405, "", true)                              \
-    M(OLAP_ERR_HEADER_DELETE, -1406, "", true)                           \
-    M(OLAP_ERR_HEADER_GET, -1407, "", true)                              \
-    M(OLAP_ERR_HEADER_LOAD_INVALID_KEY, -1408, "", true)                 \
-    M(OLAP_ERR_HEADER_FLAG_PUT, -1409, "", true)                         \
-    M(OLAP_ERR_HEADER_LOAD_JSON_HEADER, -1410, "", true)                 \
-    M(OLAP_ERR_HEADER_INIT_FAILED, -1411, "", true)                      \
-    M(OLAP_ERR_HEADER_PB_PARSE_FAILED, -1412, "", true)                  \
-    M(OLAP_ERR_HEADER_HAS_PENDING_DATA, -1413, "", false)                \
-    M(OLAP_ERR_SCHEMA_SCHEMA_INVALID, -1500, "", false)                  \
-    M(OLAP_ERR_SCHEMA_SCHEMA_FIELD_INVALID, -1501, "", true)             \
-    M(OLAP_ERR_ALTER_MULTI_TABLE_ERR, -1600, "", true)                   \
-    M(OLAP_ERR_ALTER_DELTA_DOES_NOT_EXISTS, -1601, "", true)             \
-    M(OLAP_ERR_ALTER_STATUS_ERR, -1602, "", true)                        \
-    M(OLAP_ERR_PREVIOUS_SCHEMA_CHANGE_NOT_FINISHED, -1603, "", true)     \
-    M(OLAP_ERR_SCHEMA_CHANGE_INFO_INVALID, -1604, "", true)              \
-    M(OLAP_ERR_QUERY_SPLIT_KEY_ERR, -1605, "", true)                     \
-    M(OLAP_ERR_DATA_QUALITY_ERR, -1606, "", true)                        \
-    M(OLAP_ERR_COLUMN_DATA_LOAD_BLOCK, -1700, "", true)                  \
-    M(OLAP_ERR_COLUMN_DATA_RECORD_INDEX, -1701, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_MAKE_FILE_HEADER, -1702, "", true)            \
-    M(OLAP_ERR_COLUMN_DATA_READ_VAR_INT, -1703, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_PATCH_LIST_NUM, -1704, "", true)              \
-    M(OLAP_ERR_COLUMN_STREAM_EOF, -1705, "", false)                      \
-    M(OLAP_ERR_COLUMN_READ_STREAM, -1706, "", true)                      \
-    M(OLAP_ERR_COLUMN_STREAM_NOT_EXIST, -1716, "", true)                 \
-    M(OLAP_ERR_COLUMN_VALUE_NULL, -1717, "", true)                       \
-    M(OLAP_ERR_COLUMN_SEEK_ERROR, -1719, "", true)                       \
-    M(OLAP_ERR_DELETE_INVALID_CONDITION, -1900, "", true)                \
-    M(OLAP_ERR_DELETE_UPDATE_HEADER_FAILED, -1901, "", true)             \
-    M(OLAP_ERR_DELETE_SAVE_HEADER_FAILED, -1902, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_PARAMETERS, -1903, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_VERSION, -1904, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_NO_SUITABLE_VERSION, -2000, "", false)         \
-    M(OLAP_ERR_CUMULATIVE_REPEAT_INIT, -2001, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_INVALID_PARAMETERS, -2002, "", true)           \
-    M(OLAP_ERR_CUMULATIVE_FAILED_ACQUIRE_DATA_SOURCE, -2003, "", true)   \
-    M(OLAP_ERR_CUMULATIVE_INVALID_NEED_MERGED_VERSIONS, -2004, "", true) \
-    M(OLAP_ERR_CUMULATIVE_ERROR_DELETE_ACTION, -2005, "", true)          \
-    M(OLAP_ERR_CUMULATIVE_MISS_VERSION, -2006, "", true)                 \
-    M(OLAP_ERR_CUMULATIVE_CLONE_OCCURRED, -2007, "", true)               \
-    M(OLAP_ERR_META_INVALID_ARGUMENT, -3000, "", true)                   \
-    M(OLAP_ERR_META_OPEN_DB, -3001, "", true)                            \
-    M(OLAP_ERR_META_KEY_NOT_FOUND, -3002, "", true)                      \
-    M(OLAP_ERR_META_GET, -3003, "", true)                                \
-    M(OLAP_ERR_META_PUT, -3004, "", true)                                \
-    M(OLAP_ERR_META_ITERATOR, -3005, "", true)                           \
-    M(OLAP_ERR_META_DELETE, -3006, "", true)                             \
-    M(OLAP_ERR_META_ALREADY_EXIST, -3007, "", true)                      \
-    M(OLAP_ERR_ROWSET_WRITER_INIT, -3100, "", true)                      \
-    M(OLAP_ERR_ROWSET_SAVE_FAILED, -3101, "", true)                      \
-    M(OLAP_ERR_ROWSET_GENERATE_ID_FAILED, -3102, "", true)               \
-    M(OLAP_ERR_ROWSET_DELETE_FILE_FAILED, -3103, "", true)               \
-    M(OLAP_ERR_ROWSET_BUILDER_INIT, -3104, "", true)                     \
-    M(OLAP_ERR_ROWSET_TYPE_NOT_FOUND, -3105, "", true)                   \
-    M(OLAP_ERR_ROWSET_ALREADY_EXIST, -3106, "", true)                    \
-    M(OLAP_ERR_ROWSET_CREATE_READER, -3107, "", true)                    \
-    M(OLAP_ERR_ROWSET_INVALID, -3108, "", true)                          \
-    M(OLAP_ERR_ROWSET_LOAD_FAILED, -3109, "", true)                      \
-    M(OLAP_ERR_ROWSET_READER_INIT, -3110, "", true)                      \
-    M(OLAP_ERR_ROWSET_READ_FAILED, -3111, "", true)                      \
-    M(OLAP_ERR_ROWSET_INVALID_STATE_TRANSITION, -3112, "", true)         \
-    M(OLAP_ERR_STRING_OVERFLOW_IN_VEC_ENGINE, -3113, "", true)           \
-    M(OLAP_ERR_ROWSET_ADD_MIGRATION_V2, -3114, "", true)                 \
-    M(OLAP_ERR_PUBLISH_VERSION_NOT_CONTINUOUS, -3115, "", false)         \
-    M(OLAP_ERR_ROWSET_RENAME_FILE_FAILED, -3116, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_READER, -3117, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_WRITER, -3118, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_FAILED, -3119, "", false)
-
-enum ErrorCode {
-#define M(NAME, ERRORCODE, DESC, STACKTRACEENABLED) NAME = ERRORCODE,
-    APPLY_FOR_ERROR_CODES(M)
-#undef M
-};
+namespace ErrorCode {
+#define E(name, code) static constexpr int name = code
+E(OK, 0);
+#define TStatusError(name) E(name, TStatusCode::name)
+// Errors defined in TStatus
+TStatusError(PUBLISH_TIMEOUT);
+TStatusError(MEM_ALLOC_FAILED);
+TStatusError(BUFFER_ALLOCATION_FAILED);
+TStatusError(INVALID_ARGUMENT);
+TStatusError(MINIMUM_RESERVATION_UNAVAILABLE);
+TStatusError(CORRUPTION);
+TStatusError(IO_ERROR);
+TStatusError(NOT_FOUND);
+TStatusError(ALREADY_EXIST);
+TStatusError(NOT_IMPLEMENTED_ERROR);
+TStatusError(END_OF_FILE);
+TStatusError(INTERNAL_ERROR);
+TStatusError(RUNTIME_ERROR);
+TStatusError(CANCELLED);
+TStatusError(MEM_LIMIT_EXCEEDED);
+TStatusError(THRIFT_RPC_ERROR);
+TStatusError(TIMEOUT);
+TStatusError(TOO_MANY_TASKS);
+TStatusError(SERVICE_UNAVAILABLE);
+TStatusError(UNINITIALIZED);
+TStatusError(ABORTED);
+TStatusError(DATA_QUALITY_ERROR);
+TStatusError(LABEL_ALREADY_EXISTS);
+#undef TStatusError
+// BE internal errors
+E(OS_ERROR, -100);
+E(DIR_NOT_EXIST, -101);
+E(FILE_NOT_EXIST, -102);
+E(CREATE_FILE_ERROR, -103);
+E(STL_ERROR, -105);
+E(MUTEX_ERROR, -107);
+E(PTHREAD_ERROR, -108);
+E(NETWORK_ERROR, -109);
+E(UB_FUNC_ERROR, -110);
+E(COMPRESS_ERROR, -111);
+E(DECOMPRESS_ERROR, -112);
+E(UNKNOWN_COMPRESSION_TYPE, -113);
+E(MMAP_ERROR, -114);
+E(READ_UNENOUGH, -116);
+E(CANNOT_CREATE_DIR, -117);
+E(UB_NETWORK_ERROR, -118);

Review Comment:
   warning: unused variable 'UB_NETWORK_ERROR' [clang-diagnostic-unused-const-variable]
   ```cpp
   E(UB_NETWORK_ERROR, -118);
     ^
   ```
   



##########
be/test/olap/memtable_flush_executor_test.cpp:
##########
@@ -103,13 +103,13 @@ TEST_F(TestMemTableFlushExecutor, create_flush_handler) {
     EXPECT_EQ(1, flush_handler->get_stats().flush_count);
 
     FlushResult res2;

Review Comment:
   warning: unknown type name 'FlushResult' [clang-diagnostic-error]
   ```cpp
       FlushResult res2;
       ^
   ```
   



##########
be/src/vec/functions/function_java_udf.h:
##########
@@ -115,7 +115,7 @@ class JavaFunctionCall : public IFunctionBase {
             env->CallNonvirtualVoidMethodA(executor, parent->executor_cl_,
                                            parent->executor_close_id_, NULL);
             Status s = JniUtil::GetJniExceptionMsg(env);
-            if (!s.ok()) LOG(WARNING) << s.get_error_msg();
+            if (!s.ok()) LOG(WARNING) << s;

Review Comment:
   warning: statement should be inside braces [readability-braces-around-statements]
   
   ```suggestion
               if (!s.ok()) { LOG(WARNING) << s;
   }
   ```
   



##########
be/test/olap/olap_meta_test.cpp:
##########
@@ -75,7 +76,7 @@ TEST_F(OlapMetaTest, TestPutAndGet) {
 
     // abnormal cases
     s = _meta->get(META_COLUMN_FAMILY_INDEX, "key_not_exist", &value_get);

Review Comment:
   warning: '_meta' is a private member of 'doris::OlapMetaTest' [clang-diagnostic-error]
   ```cpp
       s = _meta->get(META_COLUMN_FAMILY_INDEX, "key_not_exist", &value_get);
           ^
   ```
   **be/test/olap/olap_meta_test.cpp:57:** declared private here
   ```cpp
       OlapMeta* _meta;
                 ^
   ```
   



##########
be/test/olap/memtable_flush_executor_test.cpp:
##########
@@ -103,13 +103,13 @@
     EXPECT_EQ(1, flush_handler->get_stats().flush_count);
 
     FlushResult res2;
-    res2.flush_status = Status::OLAPInternalError(OLAP_ERR_OTHER_ERROR);
+    res2.flush_status = Status::Error<OTHER_ERROR>();
     flush_handler->on_flush_finished(res2);
     EXPECT_TRUE(flush_handler->is_cancelled());
     EXPECT_EQ(100, flush_handler->get_stats().flush_time_ns);
     EXPECT_EQ(1, flush_handler->get_stats().flush_count);
 
-    EXPECT_EQ(Status::OLAPInternalError(OLAP_ERR_OTHER_ERROR), flush_handler->wait());
+    EXPECT_EQ(Status::Error<OTHER_ERROR>(), flush_handler->wait());

Review Comment:
   warning: use of undeclared identifier 'OTHER_ERROR' [clang-diagnostic-error]
   ```cpp
       EXPECT_EQ(Status::Error<OTHER_ERROR>(), flush_handler->wait());
                               ^
   ```
   



##########
be/src/common/status.h:
##########
@@ -12,249 +12,283 @@
 #include <string_view>
 
 #include "common/compiler_util.h"
-#include "common/logging.h"
 #include "gen_cpp/Status_types.h" // for TStatus
+#ifdef ENABLE_STACKTRACE
+#include "util/stack_util.h"
+#endif
 
 namespace doris {
 
 class PStatus;
 
-// ErrorName, ErrorCode, String Description, Should print stacktrace
-#define APPLY_FOR_ERROR_CODES(M)                                         \
-    M(OLAP_SUCCESS, 0, "", false)                                        \
-    M(OLAP_ERR_OTHER_ERROR, -1, "", true)                                \
-    M(OLAP_REQUEST_FAILED, -2, "", false)                                \
-    M(OLAP_ERR_OS_ERROR, -100, "", true)                                 \
-    M(OLAP_ERR_DIR_NOT_EXIST, -101, "", true)                            \
-    M(OLAP_ERR_FILE_NOT_EXIST, -102, "", true)                           \
-    M(OLAP_ERR_CREATE_FILE_ERROR, -103, "", true)                        \
-    M(OLAP_ERR_MALLOC_ERROR, -104, "", true)                             \
-    M(OLAP_ERR_STL_ERROR, -105, "", true)                                \
-    M(OLAP_ERR_IO_ERROR, -106, "", true)                                 \
-    M(OLAP_ERR_MUTEX_ERROR, -107, "", true)                              \
-    M(OLAP_ERR_PTHREAD_ERROR, -108, "", true)                            \
-    M(OLAP_ERR_NETWORK_ERROR, -109, "", true)                            \
-    M(OLAP_ERR_UB_FUNC_ERROR, -110, "", true)                            \
-    M(OLAP_ERR_COMPRESS_ERROR, -111, "", true)                           \
-    M(OLAP_ERR_DECOMPRESS_ERROR, -112, "", true)                         \
-    M(OLAP_ERR_UNKNOWN_COMPRESSION_TYPE, -113, "", true)                 \
-    M(OLAP_ERR_MMAP_ERROR, -114, "", true)                               \
-    M(OLAP_ERR_RWLOCK_ERROR, -115, "", true)                             \
-    M(OLAP_ERR_READ_UNENOUGH, -116, "", true)                            \
-    M(OLAP_ERR_CANNOT_CREATE_DIR, -117, "", true)                        \
-    M(OLAP_ERR_UB_NETWORK_ERROR, -118, "", true)                         \
-    M(OLAP_ERR_FILE_FORMAT_ERROR, -119, "", true)                        \
-    M(OLAP_ERR_EVAL_CONJUNCTS_ERROR, -120, "", true)                     \
-    M(OLAP_ERR_COPY_FILE_ERROR, -121, "", true)                          \
-    M(OLAP_ERR_FILE_ALREADY_EXIST, -122, "", true)                       \
-    M(OLAP_ERR_NOT_INITED, -200, "", true)                               \
-    M(OLAP_ERR_FUNC_NOT_IMPLEMENTED, -201, "", true)                     \
-    M(OLAP_ERR_CALL_SEQUENCE_ERROR, -202, "", true)                      \
-    M(OLAP_ERR_INPUT_PARAMETER_ERROR, -203, "", true)                    \
-    M(OLAP_ERR_BUFFER_OVERFLOW, -204, "", true)                          \
-    M(OLAP_ERR_CONFIG_ERROR, -205, "", true)                             \
-    M(OLAP_ERR_INIT_FAILED, -206, "", true)                              \
-    M(OLAP_ERR_INVALID_SCHEMA, -207, "", true)                           \
-    M(OLAP_ERR_CHECKSUM_ERROR, -208, "", true)                           \
-    M(OLAP_ERR_SIGNATURE_ERROR, -209, "", true)                          \
-    M(OLAP_ERR_CATCH_EXCEPTION, -210, "", true)                          \
-    M(OLAP_ERR_PARSE_PROTOBUF_ERROR, -211, "", true)                     \
-    M(OLAP_ERR_SERIALIZE_PROTOBUF_ERROR, -212, "", true)                 \
-    M(OLAP_ERR_WRITE_PROTOBUF_ERROR, -213, "", true)                     \
-    M(OLAP_ERR_VERSION_NOT_EXIST, -214, "", true)                        \
-    M(OLAP_ERR_TABLE_NOT_FOUND, -215, "", true)                          \
-    M(OLAP_ERR_TRY_LOCK_FAILED, -216, "", true)                          \
-    M(OLAP_ERR_OUT_OF_BOUND, -218, "", true)                             \
-    M(OLAP_ERR_UNDERFLOW, -219, "", true)                                \
-    M(OLAP_ERR_FILE_DATA_ERROR, -220, "", true)                          \
-    M(OLAP_ERR_TEST_FILE_ERROR, -221, "", true)                          \
-    M(OLAP_ERR_INVALID_ROOT_PATH, -222, "", true)                        \
-    M(OLAP_ERR_NO_AVAILABLE_ROOT_PATH, -223, "", true)                   \
-    M(OLAP_ERR_CHECK_LINES_ERROR, -224, "", true)                        \
-    M(OLAP_ERR_INVALID_CLUSTER_INFO, -225, "", true)                     \
-    M(OLAP_ERR_TRANSACTION_NOT_EXIST, -226, "", true)                    \
-    M(OLAP_ERR_DISK_FAILURE, -227, "", true)                             \
-    M(OLAP_ERR_TRANSACTION_ALREADY_COMMITTED, -228, "", true)            \
-    M(OLAP_ERR_TRANSACTION_ALREADY_VISIBLE, -229, "", true)              \
-    M(OLAP_ERR_VERSION_ALREADY_MERGED, -230, "", true)                   \
-    M(OLAP_ERR_LZO_DISABLED, -231, "", true)                             \
-    M(OLAP_ERR_DISK_REACH_CAPACITY_LIMIT, -232, "", true)                \
-    M(OLAP_ERR_TOO_MANY_TRANSACTIONS, -233, "", true)                    \
-    M(OLAP_ERR_INVALID_SNAPSHOT_VERSION, -234, "", true)                 \
-    M(OLAP_ERR_TOO_MANY_VERSION, -235, "", true)                         \
-    M(OLAP_ERR_NOT_INITIALIZED, -236, "", true)                          \
-    M(OLAP_ERR_ALREADY_CANCELLED, -237, "", true)                        \
-    M(OLAP_ERR_TOO_MANY_SEGMENTS, -238, "", true)                        \
-    M(OLAP_ERR_CE_CMD_PARAMS_ERROR, -300, "", true)                      \
-    M(OLAP_ERR_CE_BUFFER_TOO_SMALL, -301, "", true)                      \
-    M(OLAP_ERR_CE_CMD_NOT_VALID, -302, "", true)                         \
-    M(OLAP_ERR_CE_LOAD_TABLE_ERROR, -303, "", true)                      \
-    M(OLAP_ERR_CE_NOT_FINISHED, -304, "", true)                          \
-    M(OLAP_ERR_CE_TABLET_ID_EXIST, -305, "", true)                       \
-    M(OLAP_ERR_CE_TRY_CE_LOCK_ERROR, -306, "", false)                    \
-    M(OLAP_ERR_TABLE_VERSION_DUPLICATE_ERROR, -400, "", true)            \
-    M(OLAP_ERR_TABLE_VERSION_INDEX_MISMATCH_ERROR, -401, "", true)       \
-    M(OLAP_ERR_TABLE_INDEX_VALIDATE_ERROR, -402, "", true)               \
-    M(OLAP_ERR_TABLE_INDEX_FIND_ERROR, -403, "", true)                   \
-    M(OLAP_ERR_TABLE_CREATE_FROM_HEADER_ERROR, -404, "", true)           \
-    M(OLAP_ERR_TABLE_CREATE_META_ERROR, -405, "", true)                  \
-    M(OLAP_ERR_TABLE_ALREADY_DELETED_ERROR, -406, "", false)             \
-    M(OLAP_ERR_ENGINE_INSERT_EXISTS_TABLE, -500, "", true)               \
-    M(OLAP_ERR_ENGINE_DROP_NOEXISTS_TABLE, -501, "", true)               \
-    M(OLAP_ERR_ENGINE_LOAD_INDEX_TABLE_ERROR, -502, "", true)            \
-    M(OLAP_ERR_TABLE_INSERT_DUPLICATION_ERROR, -503, "", true)           \
-    M(OLAP_ERR_DELETE_VERSION_ERROR, -504, "", true)                     \
-    M(OLAP_ERR_GC_SCAN_PATH_ERROR, -505, "", true)                       \
-    M(OLAP_ERR_ENGINE_INSERT_OLD_TABLET, -506, "", true)                 \
-    M(OLAP_ERR_FETCH_OTHER_ERROR, -600, "", true)                        \
-    M(OLAP_ERR_FETCH_TABLE_NOT_EXIST, -601, "", true)                    \
-    M(OLAP_ERR_FETCH_VERSION_ERROR, -602, "", true)                      \
-    M(OLAP_ERR_FETCH_SCHEMA_ERROR, -603, "", true)                       \
-    M(OLAP_ERR_FETCH_COMPRESSION_ERROR, -604, "", true)                  \
-    M(OLAP_ERR_FETCH_CONTEXT_NOT_EXIST, -605, "", true)                  \
-    M(OLAP_ERR_FETCH_GET_READER_PARAMS_ERR, -606, "", true)              \
-    M(OLAP_ERR_FETCH_SAVE_SESSION_ERR, -607, "", true)                   \
-    M(OLAP_ERR_FETCH_MEMORY_EXCEEDED, -608, "", true)                    \
-    M(OLAP_ERR_READER_IS_UNINITIALIZED, -700, "", true)                  \
-    M(OLAP_ERR_READER_GET_ITERATOR_ERROR, -701, "", true)                \
-    M(OLAP_ERR_CAPTURE_ROWSET_READER_ERROR, -702, "", true)              \
-    M(OLAP_ERR_READER_READING_ERROR, -703, "", true)                     \
-    M(OLAP_ERR_READER_INITIALIZE_ERROR, -704, "", true)                  \
-    M(OLAP_ERR_BE_VERSION_NOT_MATCH, -800, "", true)                     \
-    M(OLAP_ERR_BE_REPLACE_VERSIONS_ERROR, -801, "", true)                \
-    M(OLAP_ERR_BE_MERGE_ERROR, -802, "", true)                           \
-    M(OLAP_ERR_CAPTURE_ROWSET_ERROR, -804, "", true)                     \
-    M(OLAP_ERR_BE_SAVE_HEADER_ERROR, -805, "", true)                     \
-    M(OLAP_ERR_BE_INIT_OLAP_DATA, -806, "", true)                        \
-    M(OLAP_ERR_BE_TRY_OBTAIN_VERSION_LOCKS, -807, "", true)              \
-    M(OLAP_ERR_BE_NO_SUITABLE_VERSION, -808, "", false)                  \
-    M(OLAP_ERR_BE_TRY_BE_LOCK_ERROR, -809, "", true)                     \
-    M(OLAP_ERR_BE_INVALID_NEED_MERGED_VERSIONS, -810, "", true)          \
-    M(OLAP_ERR_BE_ERROR_DELETE_ACTION, -811, "", true)                   \
-    M(OLAP_ERR_BE_SEGMENTS_OVERLAPPING, -812, "", true)                  \
-    M(OLAP_ERR_BE_CLONE_OCCURRED, -813, "", true)                        \
-    M(OLAP_ERR_PUSH_INIT_ERROR, -900, "", true)                          \
-    M(OLAP_ERR_PUSH_DELTA_FILE_EOF, -901, "", false)                     \
-    M(OLAP_ERR_PUSH_VERSION_INCORRECT, -902, "", true)                   \
-    M(OLAP_ERR_PUSH_SCHEMA_MISMATCH, -903, "", true)                     \
-    M(OLAP_ERR_PUSH_CHECKSUM_ERROR, -904, "", true)                      \
-    M(OLAP_ERR_PUSH_ACQUIRE_DATASOURCE_ERROR, -905, "", true)            \
-    M(OLAP_ERR_PUSH_CREAT_CUMULATIVE_ERROR, -906, "", true)              \
-    M(OLAP_ERR_PUSH_BUILD_DELTA_ERROR, -907, "", true)                   \
-    M(OLAP_ERR_PUSH_VERSION_ALREADY_EXIST, -908, "", true)               \
-    M(OLAP_ERR_PUSH_TABLE_NOT_EXIST, -909, "", true)                     \
-    M(OLAP_ERR_PUSH_INPUT_DATA_ERROR, -910, "", true)                    \
-    M(OLAP_ERR_PUSH_TRANSACTION_ALREADY_EXIST, -911, "", true)           \
-    M(OLAP_ERR_PUSH_BATCH_PROCESS_REMOVED, -912, "", true)               \
-    M(OLAP_ERR_PUSH_COMMIT_ROWSET, -913, "", true)                       \
-    M(OLAP_ERR_PUSH_ROWSET_NOT_FOUND, -914, "", true)                    \
-    M(OLAP_ERR_INDEX_LOAD_ERROR, -1000, "", true)                        \
-    M(OLAP_ERR_INDEX_EOF, -1001, "", false)                              \
-    M(OLAP_ERR_INDEX_CHECKSUM_ERROR, -1002, "", true)                    \
-    M(OLAP_ERR_INDEX_DELTA_PRUNING, -1003, "", true)                     \
-    M(OLAP_ERR_DATA_ROW_BLOCK_ERROR, -1100, "", true)                    \
-    M(OLAP_ERR_DATA_FILE_TYPE_ERROR, -1101, "", true)                    \
-    M(OLAP_ERR_DATA_EOF, -1102, "", false)                               \
-    M(OLAP_ERR_WRITER_INDEX_WRITE_ERROR, -1200, "", true)                \
-    M(OLAP_ERR_WRITER_DATA_WRITE_ERROR, -1201, "", true)                 \
-    M(OLAP_ERR_WRITER_ROW_BLOCK_ERROR, -1202, "", true)                  \
-    M(OLAP_ERR_WRITER_SEGMENT_NOT_FINALIZED, -1203, "", true)            \
-    M(OLAP_ERR_ROWBLOCK_DECOMPRESS_ERROR, -1300, "", true)               \
-    M(OLAP_ERR_ROWBLOCK_FIND_ROW_EXCEPTION, -1301, "", true)             \
-    M(OLAP_ERR_ROWBLOCK_READ_INFO_ERROR, -1302, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_VERSION, -1400, "", true)                      \
-    M(OLAP_ERR_HEADER_DELETE_VERSION, -1401, "", true)                   \
-    M(OLAP_ERR_HEADER_ADD_PENDING_DELTA, -1402, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_INCREMENTAL_VERSION, -1403, "", true)          \
-    M(OLAP_ERR_HEADER_INVALID_FLAG, -1404, "", true)                     \
-    M(OLAP_ERR_HEADER_PUT, -1405, "", true)                              \
-    M(OLAP_ERR_HEADER_DELETE, -1406, "", true)                           \
-    M(OLAP_ERR_HEADER_GET, -1407, "", true)                              \
-    M(OLAP_ERR_HEADER_LOAD_INVALID_KEY, -1408, "", true)                 \
-    M(OLAP_ERR_HEADER_FLAG_PUT, -1409, "", true)                         \
-    M(OLAP_ERR_HEADER_LOAD_JSON_HEADER, -1410, "", true)                 \
-    M(OLAP_ERR_HEADER_INIT_FAILED, -1411, "", true)                      \
-    M(OLAP_ERR_HEADER_PB_PARSE_FAILED, -1412, "", true)                  \
-    M(OLAP_ERR_HEADER_HAS_PENDING_DATA, -1413, "", false)                \
-    M(OLAP_ERR_SCHEMA_SCHEMA_INVALID, -1500, "", false)                  \
-    M(OLAP_ERR_SCHEMA_SCHEMA_FIELD_INVALID, -1501, "", true)             \
-    M(OLAP_ERR_ALTER_MULTI_TABLE_ERR, -1600, "", true)                   \
-    M(OLAP_ERR_ALTER_DELTA_DOES_NOT_EXISTS, -1601, "", true)             \
-    M(OLAP_ERR_ALTER_STATUS_ERR, -1602, "", true)                        \
-    M(OLAP_ERR_PREVIOUS_SCHEMA_CHANGE_NOT_FINISHED, -1603, "", true)     \
-    M(OLAP_ERR_SCHEMA_CHANGE_INFO_INVALID, -1604, "", true)              \
-    M(OLAP_ERR_QUERY_SPLIT_KEY_ERR, -1605, "", true)                     \
-    M(OLAP_ERR_DATA_QUALITY_ERR, -1606, "", true)                        \
-    M(OLAP_ERR_COLUMN_DATA_LOAD_BLOCK, -1700, "", true)                  \
-    M(OLAP_ERR_COLUMN_DATA_RECORD_INDEX, -1701, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_MAKE_FILE_HEADER, -1702, "", true)            \
-    M(OLAP_ERR_COLUMN_DATA_READ_VAR_INT, -1703, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_PATCH_LIST_NUM, -1704, "", true)              \
-    M(OLAP_ERR_COLUMN_STREAM_EOF, -1705, "", false)                      \
-    M(OLAP_ERR_COLUMN_READ_STREAM, -1706, "", true)                      \
-    M(OLAP_ERR_COLUMN_STREAM_NOT_EXIST, -1716, "", true)                 \
-    M(OLAP_ERR_COLUMN_VALUE_NULL, -1717, "", true)                       \
-    M(OLAP_ERR_COLUMN_SEEK_ERROR, -1719, "", true)                       \
-    M(OLAP_ERR_DELETE_INVALID_CONDITION, -1900, "", true)                \
-    M(OLAP_ERR_DELETE_UPDATE_HEADER_FAILED, -1901, "", true)             \
-    M(OLAP_ERR_DELETE_SAVE_HEADER_FAILED, -1902, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_PARAMETERS, -1903, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_VERSION, -1904, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_NO_SUITABLE_VERSION, -2000, "", false)         \
-    M(OLAP_ERR_CUMULATIVE_REPEAT_INIT, -2001, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_INVALID_PARAMETERS, -2002, "", true)           \
-    M(OLAP_ERR_CUMULATIVE_FAILED_ACQUIRE_DATA_SOURCE, -2003, "", true)   \
-    M(OLAP_ERR_CUMULATIVE_INVALID_NEED_MERGED_VERSIONS, -2004, "", true) \
-    M(OLAP_ERR_CUMULATIVE_ERROR_DELETE_ACTION, -2005, "", true)          \
-    M(OLAP_ERR_CUMULATIVE_MISS_VERSION, -2006, "", true)                 \
-    M(OLAP_ERR_CUMULATIVE_CLONE_OCCURRED, -2007, "", true)               \
-    M(OLAP_ERR_META_INVALID_ARGUMENT, -3000, "", true)                   \
-    M(OLAP_ERR_META_OPEN_DB, -3001, "", true)                            \
-    M(OLAP_ERR_META_KEY_NOT_FOUND, -3002, "", true)                      \
-    M(OLAP_ERR_META_GET, -3003, "", true)                                \
-    M(OLAP_ERR_META_PUT, -3004, "", true)                                \
-    M(OLAP_ERR_META_ITERATOR, -3005, "", true)                           \
-    M(OLAP_ERR_META_DELETE, -3006, "", true)                             \
-    M(OLAP_ERR_META_ALREADY_EXIST, -3007, "", true)                      \
-    M(OLAP_ERR_ROWSET_WRITER_INIT, -3100, "", true)                      \
-    M(OLAP_ERR_ROWSET_SAVE_FAILED, -3101, "", true)                      \
-    M(OLAP_ERR_ROWSET_GENERATE_ID_FAILED, -3102, "", true)               \
-    M(OLAP_ERR_ROWSET_DELETE_FILE_FAILED, -3103, "", true)               \
-    M(OLAP_ERR_ROWSET_BUILDER_INIT, -3104, "", true)                     \
-    M(OLAP_ERR_ROWSET_TYPE_NOT_FOUND, -3105, "", true)                   \
-    M(OLAP_ERR_ROWSET_ALREADY_EXIST, -3106, "", true)                    \
-    M(OLAP_ERR_ROWSET_CREATE_READER, -3107, "", true)                    \
-    M(OLAP_ERR_ROWSET_INVALID, -3108, "", true)                          \
-    M(OLAP_ERR_ROWSET_LOAD_FAILED, -3109, "", true)                      \
-    M(OLAP_ERR_ROWSET_READER_INIT, -3110, "", true)                      \
-    M(OLAP_ERR_ROWSET_READ_FAILED, -3111, "", true)                      \
-    M(OLAP_ERR_ROWSET_INVALID_STATE_TRANSITION, -3112, "", true)         \
-    M(OLAP_ERR_STRING_OVERFLOW_IN_VEC_ENGINE, -3113, "", true)           \
-    M(OLAP_ERR_ROWSET_ADD_MIGRATION_V2, -3114, "", true)                 \
-    M(OLAP_ERR_PUBLISH_VERSION_NOT_CONTINUOUS, -3115, "", false)         \
-    M(OLAP_ERR_ROWSET_RENAME_FILE_FAILED, -3116, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_READER, -3117, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_WRITER, -3118, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_FAILED, -3119, "", false)
-
-enum ErrorCode {
-#define M(NAME, ERRORCODE, DESC, STACKTRACEENABLED) NAME = ERRORCODE,
-    APPLY_FOR_ERROR_CODES(M)
-#undef M
-};
+namespace ErrorCode {
+#define E(name, code) static constexpr int name = code
+E(OK, 0);
+#define TStatusError(name) E(name, TStatusCode::name)
+// Errors defined in TStatus
+TStatusError(PUBLISH_TIMEOUT);
+TStatusError(MEM_ALLOC_FAILED);
+TStatusError(BUFFER_ALLOCATION_FAILED);
+TStatusError(INVALID_ARGUMENT);
+TStatusError(MINIMUM_RESERVATION_UNAVAILABLE);
+TStatusError(CORRUPTION);
+TStatusError(IO_ERROR);
+TStatusError(NOT_FOUND);
+TStatusError(ALREADY_EXIST);
+TStatusError(NOT_IMPLEMENTED_ERROR);
+TStatusError(END_OF_FILE);
+TStatusError(INTERNAL_ERROR);
+TStatusError(RUNTIME_ERROR);
+TStatusError(CANCELLED);
+TStatusError(MEM_LIMIT_EXCEEDED);
+TStatusError(THRIFT_RPC_ERROR);
+TStatusError(TIMEOUT);
+TStatusError(TOO_MANY_TASKS);
+TStatusError(SERVICE_UNAVAILABLE);
+TStatusError(UNINITIALIZED);
+TStatusError(ABORTED);
+TStatusError(DATA_QUALITY_ERROR);
+TStatusError(LABEL_ALREADY_EXISTS);
+#undef TStatusError
+// BE internal errors
+E(OS_ERROR, -100);
+E(DIR_NOT_EXIST, -101);
+E(FILE_NOT_EXIST, -102);
+E(CREATE_FILE_ERROR, -103);
+E(STL_ERROR, -105);
+E(MUTEX_ERROR, -107);
+E(PTHREAD_ERROR, -108);
+E(NETWORK_ERROR, -109);
+E(UB_FUNC_ERROR, -110);
+E(COMPRESS_ERROR, -111);
+E(DECOMPRESS_ERROR, -112);
+E(UNKNOWN_COMPRESSION_TYPE, -113);
+E(MMAP_ERROR, -114);
+E(READ_UNENOUGH, -116);
+E(CANNOT_CREATE_DIR, -117);
+E(UB_NETWORK_ERROR, -118);
+E(FILE_FORMAT_ERROR, -119);

Review Comment:
   warning: unused variable 'FILE_FORMAT_ERROR' [clang-diagnostic-unused-const-variable]
   ```cpp
   E(FILE_FORMAT_ERROR, -119);
     ^
   ```
   



##########
be/src/common/status.h:
##########
@@ -12,249 +12,283 @@
 #include <string_view>
 
 #include "common/compiler_util.h"
-#include "common/logging.h"
 #include "gen_cpp/Status_types.h" // for TStatus
+#ifdef ENABLE_STACKTRACE
+#include "util/stack_util.h"
+#endif
 
 namespace doris {
 
 class PStatus;
 
-// ErrorName, ErrorCode, String Description, Should print stacktrace
-#define APPLY_FOR_ERROR_CODES(M)                                         \
-    M(OLAP_SUCCESS, 0, "", false)                                        \
-    M(OLAP_ERR_OTHER_ERROR, -1, "", true)                                \
-    M(OLAP_REQUEST_FAILED, -2, "", false)                                \
-    M(OLAP_ERR_OS_ERROR, -100, "", true)                                 \
-    M(OLAP_ERR_DIR_NOT_EXIST, -101, "", true)                            \
-    M(OLAP_ERR_FILE_NOT_EXIST, -102, "", true)                           \
-    M(OLAP_ERR_CREATE_FILE_ERROR, -103, "", true)                        \
-    M(OLAP_ERR_MALLOC_ERROR, -104, "", true)                             \
-    M(OLAP_ERR_STL_ERROR, -105, "", true)                                \
-    M(OLAP_ERR_IO_ERROR, -106, "", true)                                 \
-    M(OLAP_ERR_MUTEX_ERROR, -107, "", true)                              \
-    M(OLAP_ERR_PTHREAD_ERROR, -108, "", true)                            \
-    M(OLAP_ERR_NETWORK_ERROR, -109, "", true)                            \
-    M(OLAP_ERR_UB_FUNC_ERROR, -110, "", true)                            \
-    M(OLAP_ERR_COMPRESS_ERROR, -111, "", true)                           \
-    M(OLAP_ERR_DECOMPRESS_ERROR, -112, "", true)                         \
-    M(OLAP_ERR_UNKNOWN_COMPRESSION_TYPE, -113, "", true)                 \
-    M(OLAP_ERR_MMAP_ERROR, -114, "", true)                               \
-    M(OLAP_ERR_RWLOCK_ERROR, -115, "", true)                             \
-    M(OLAP_ERR_READ_UNENOUGH, -116, "", true)                            \
-    M(OLAP_ERR_CANNOT_CREATE_DIR, -117, "", true)                        \
-    M(OLAP_ERR_UB_NETWORK_ERROR, -118, "", true)                         \
-    M(OLAP_ERR_FILE_FORMAT_ERROR, -119, "", true)                        \
-    M(OLAP_ERR_EVAL_CONJUNCTS_ERROR, -120, "", true)                     \
-    M(OLAP_ERR_COPY_FILE_ERROR, -121, "", true)                          \
-    M(OLAP_ERR_FILE_ALREADY_EXIST, -122, "", true)                       \
-    M(OLAP_ERR_NOT_INITED, -200, "", true)                               \
-    M(OLAP_ERR_FUNC_NOT_IMPLEMENTED, -201, "", true)                     \
-    M(OLAP_ERR_CALL_SEQUENCE_ERROR, -202, "", true)                      \
-    M(OLAP_ERR_INPUT_PARAMETER_ERROR, -203, "", true)                    \
-    M(OLAP_ERR_BUFFER_OVERFLOW, -204, "", true)                          \
-    M(OLAP_ERR_CONFIG_ERROR, -205, "", true)                             \
-    M(OLAP_ERR_INIT_FAILED, -206, "", true)                              \
-    M(OLAP_ERR_INVALID_SCHEMA, -207, "", true)                           \
-    M(OLAP_ERR_CHECKSUM_ERROR, -208, "", true)                           \
-    M(OLAP_ERR_SIGNATURE_ERROR, -209, "", true)                          \
-    M(OLAP_ERR_CATCH_EXCEPTION, -210, "", true)                          \
-    M(OLAP_ERR_PARSE_PROTOBUF_ERROR, -211, "", true)                     \
-    M(OLAP_ERR_SERIALIZE_PROTOBUF_ERROR, -212, "", true)                 \
-    M(OLAP_ERR_WRITE_PROTOBUF_ERROR, -213, "", true)                     \
-    M(OLAP_ERR_VERSION_NOT_EXIST, -214, "", true)                        \
-    M(OLAP_ERR_TABLE_NOT_FOUND, -215, "", true)                          \
-    M(OLAP_ERR_TRY_LOCK_FAILED, -216, "", true)                          \
-    M(OLAP_ERR_OUT_OF_BOUND, -218, "", true)                             \
-    M(OLAP_ERR_UNDERFLOW, -219, "", true)                                \
-    M(OLAP_ERR_FILE_DATA_ERROR, -220, "", true)                          \
-    M(OLAP_ERR_TEST_FILE_ERROR, -221, "", true)                          \
-    M(OLAP_ERR_INVALID_ROOT_PATH, -222, "", true)                        \
-    M(OLAP_ERR_NO_AVAILABLE_ROOT_PATH, -223, "", true)                   \
-    M(OLAP_ERR_CHECK_LINES_ERROR, -224, "", true)                        \
-    M(OLAP_ERR_INVALID_CLUSTER_INFO, -225, "", true)                     \
-    M(OLAP_ERR_TRANSACTION_NOT_EXIST, -226, "", true)                    \
-    M(OLAP_ERR_DISK_FAILURE, -227, "", true)                             \
-    M(OLAP_ERR_TRANSACTION_ALREADY_COMMITTED, -228, "", true)            \
-    M(OLAP_ERR_TRANSACTION_ALREADY_VISIBLE, -229, "", true)              \
-    M(OLAP_ERR_VERSION_ALREADY_MERGED, -230, "", true)                   \
-    M(OLAP_ERR_LZO_DISABLED, -231, "", true)                             \
-    M(OLAP_ERR_DISK_REACH_CAPACITY_LIMIT, -232, "", true)                \
-    M(OLAP_ERR_TOO_MANY_TRANSACTIONS, -233, "", true)                    \
-    M(OLAP_ERR_INVALID_SNAPSHOT_VERSION, -234, "", true)                 \
-    M(OLAP_ERR_TOO_MANY_VERSION, -235, "", true)                         \
-    M(OLAP_ERR_NOT_INITIALIZED, -236, "", true)                          \
-    M(OLAP_ERR_ALREADY_CANCELLED, -237, "", true)                        \
-    M(OLAP_ERR_TOO_MANY_SEGMENTS, -238, "", true)                        \
-    M(OLAP_ERR_CE_CMD_PARAMS_ERROR, -300, "", true)                      \
-    M(OLAP_ERR_CE_BUFFER_TOO_SMALL, -301, "", true)                      \
-    M(OLAP_ERR_CE_CMD_NOT_VALID, -302, "", true)                         \
-    M(OLAP_ERR_CE_LOAD_TABLE_ERROR, -303, "", true)                      \
-    M(OLAP_ERR_CE_NOT_FINISHED, -304, "", true)                          \
-    M(OLAP_ERR_CE_TABLET_ID_EXIST, -305, "", true)                       \
-    M(OLAP_ERR_CE_TRY_CE_LOCK_ERROR, -306, "", false)                    \
-    M(OLAP_ERR_TABLE_VERSION_DUPLICATE_ERROR, -400, "", true)            \
-    M(OLAP_ERR_TABLE_VERSION_INDEX_MISMATCH_ERROR, -401, "", true)       \
-    M(OLAP_ERR_TABLE_INDEX_VALIDATE_ERROR, -402, "", true)               \
-    M(OLAP_ERR_TABLE_INDEX_FIND_ERROR, -403, "", true)                   \
-    M(OLAP_ERR_TABLE_CREATE_FROM_HEADER_ERROR, -404, "", true)           \
-    M(OLAP_ERR_TABLE_CREATE_META_ERROR, -405, "", true)                  \
-    M(OLAP_ERR_TABLE_ALREADY_DELETED_ERROR, -406, "", false)             \
-    M(OLAP_ERR_ENGINE_INSERT_EXISTS_TABLE, -500, "", true)               \
-    M(OLAP_ERR_ENGINE_DROP_NOEXISTS_TABLE, -501, "", true)               \
-    M(OLAP_ERR_ENGINE_LOAD_INDEX_TABLE_ERROR, -502, "", true)            \
-    M(OLAP_ERR_TABLE_INSERT_DUPLICATION_ERROR, -503, "", true)           \
-    M(OLAP_ERR_DELETE_VERSION_ERROR, -504, "", true)                     \
-    M(OLAP_ERR_GC_SCAN_PATH_ERROR, -505, "", true)                       \
-    M(OLAP_ERR_ENGINE_INSERT_OLD_TABLET, -506, "", true)                 \
-    M(OLAP_ERR_FETCH_OTHER_ERROR, -600, "", true)                        \
-    M(OLAP_ERR_FETCH_TABLE_NOT_EXIST, -601, "", true)                    \
-    M(OLAP_ERR_FETCH_VERSION_ERROR, -602, "", true)                      \
-    M(OLAP_ERR_FETCH_SCHEMA_ERROR, -603, "", true)                       \
-    M(OLAP_ERR_FETCH_COMPRESSION_ERROR, -604, "", true)                  \
-    M(OLAP_ERR_FETCH_CONTEXT_NOT_EXIST, -605, "", true)                  \
-    M(OLAP_ERR_FETCH_GET_READER_PARAMS_ERR, -606, "", true)              \
-    M(OLAP_ERR_FETCH_SAVE_SESSION_ERR, -607, "", true)                   \
-    M(OLAP_ERR_FETCH_MEMORY_EXCEEDED, -608, "", true)                    \
-    M(OLAP_ERR_READER_IS_UNINITIALIZED, -700, "", true)                  \
-    M(OLAP_ERR_READER_GET_ITERATOR_ERROR, -701, "", true)                \
-    M(OLAP_ERR_CAPTURE_ROWSET_READER_ERROR, -702, "", true)              \
-    M(OLAP_ERR_READER_READING_ERROR, -703, "", true)                     \
-    M(OLAP_ERR_READER_INITIALIZE_ERROR, -704, "", true)                  \
-    M(OLAP_ERR_BE_VERSION_NOT_MATCH, -800, "", true)                     \
-    M(OLAP_ERR_BE_REPLACE_VERSIONS_ERROR, -801, "", true)                \
-    M(OLAP_ERR_BE_MERGE_ERROR, -802, "", true)                           \
-    M(OLAP_ERR_CAPTURE_ROWSET_ERROR, -804, "", true)                     \
-    M(OLAP_ERR_BE_SAVE_HEADER_ERROR, -805, "", true)                     \
-    M(OLAP_ERR_BE_INIT_OLAP_DATA, -806, "", true)                        \
-    M(OLAP_ERR_BE_TRY_OBTAIN_VERSION_LOCKS, -807, "", true)              \
-    M(OLAP_ERR_BE_NO_SUITABLE_VERSION, -808, "", false)                  \
-    M(OLAP_ERR_BE_TRY_BE_LOCK_ERROR, -809, "", true)                     \
-    M(OLAP_ERR_BE_INVALID_NEED_MERGED_VERSIONS, -810, "", true)          \
-    M(OLAP_ERR_BE_ERROR_DELETE_ACTION, -811, "", true)                   \
-    M(OLAP_ERR_BE_SEGMENTS_OVERLAPPING, -812, "", true)                  \
-    M(OLAP_ERR_BE_CLONE_OCCURRED, -813, "", true)                        \
-    M(OLAP_ERR_PUSH_INIT_ERROR, -900, "", true)                          \
-    M(OLAP_ERR_PUSH_DELTA_FILE_EOF, -901, "", false)                     \
-    M(OLAP_ERR_PUSH_VERSION_INCORRECT, -902, "", true)                   \
-    M(OLAP_ERR_PUSH_SCHEMA_MISMATCH, -903, "", true)                     \
-    M(OLAP_ERR_PUSH_CHECKSUM_ERROR, -904, "", true)                      \
-    M(OLAP_ERR_PUSH_ACQUIRE_DATASOURCE_ERROR, -905, "", true)            \
-    M(OLAP_ERR_PUSH_CREAT_CUMULATIVE_ERROR, -906, "", true)              \
-    M(OLAP_ERR_PUSH_BUILD_DELTA_ERROR, -907, "", true)                   \
-    M(OLAP_ERR_PUSH_VERSION_ALREADY_EXIST, -908, "", true)               \
-    M(OLAP_ERR_PUSH_TABLE_NOT_EXIST, -909, "", true)                     \
-    M(OLAP_ERR_PUSH_INPUT_DATA_ERROR, -910, "", true)                    \
-    M(OLAP_ERR_PUSH_TRANSACTION_ALREADY_EXIST, -911, "", true)           \
-    M(OLAP_ERR_PUSH_BATCH_PROCESS_REMOVED, -912, "", true)               \
-    M(OLAP_ERR_PUSH_COMMIT_ROWSET, -913, "", true)                       \
-    M(OLAP_ERR_PUSH_ROWSET_NOT_FOUND, -914, "", true)                    \
-    M(OLAP_ERR_INDEX_LOAD_ERROR, -1000, "", true)                        \
-    M(OLAP_ERR_INDEX_EOF, -1001, "", false)                              \
-    M(OLAP_ERR_INDEX_CHECKSUM_ERROR, -1002, "", true)                    \
-    M(OLAP_ERR_INDEX_DELTA_PRUNING, -1003, "", true)                     \
-    M(OLAP_ERR_DATA_ROW_BLOCK_ERROR, -1100, "", true)                    \
-    M(OLAP_ERR_DATA_FILE_TYPE_ERROR, -1101, "", true)                    \
-    M(OLAP_ERR_DATA_EOF, -1102, "", false)                               \
-    M(OLAP_ERR_WRITER_INDEX_WRITE_ERROR, -1200, "", true)                \
-    M(OLAP_ERR_WRITER_DATA_WRITE_ERROR, -1201, "", true)                 \
-    M(OLAP_ERR_WRITER_ROW_BLOCK_ERROR, -1202, "", true)                  \
-    M(OLAP_ERR_WRITER_SEGMENT_NOT_FINALIZED, -1203, "", true)            \
-    M(OLAP_ERR_ROWBLOCK_DECOMPRESS_ERROR, -1300, "", true)               \
-    M(OLAP_ERR_ROWBLOCK_FIND_ROW_EXCEPTION, -1301, "", true)             \
-    M(OLAP_ERR_ROWBLOCK_READ_INFO_ERROR, -1302, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_VERSION, -1400, "", true)                      \
-    M(OLAP_ERR_HEADER_DELETE_VERSION, -1401, "", true)                   \
-    M(OLAP_ERR_HEADER_ADD_PENDING_DELTA, -1402, "", true)                \
-    M(OLAP_ERR_HEADER_ADD_INCREMENTAL_VERSION, -1403, "", true)          \
-    M(OLAP_ERR_HEADER_INVALID_FLAG, -1404, "", true)                     \
-    M(OLAP_ERR_HEADER_PUT, -1405, "", true)                              \
-    M(OLAP_ERR_HEADER_DELETE, -1406, "", true)                           \
-    M(OLAP_ERR_HEADER_GET, -1407, "", true)                              \
-    M(OLAP_ERR_HEADER_LOAD_INVALID_KEY, -1408, "", true)                 \
-    M(OLAP_ERR_HEADER_FLAG_PUT, -1409, "", true)                         \
-    M(OLAP_ERR_HEADER_LOAD_JSON_HEADER, -1410, "", true)                 \
-    M(OLAP_ERR_HEADER_INIT_FAILED, -1411, "", true)                      \
-    M(OLAP_ERR_HEADER_PB_PARSE_FAILED, -1412, "", true)                  \
-    M(OLAP_ERR_HEADER_HAS_PENDING_DATA, -1413, "", false)                \
-    M(OLAP_ERR_SCHEMA_SCHEMA_INVALID, -1500, "", false)                  \
-    M(OLAP_ERR_SCHEMA_SCHEMA_FIELD_INVALID, -1501, "", true)             \
-    M(OLAP_ERR_ALTER_MULTI_TABLE_ERR, -1600, "", true)                   \
-    M(OLAP_ERR_ALTER_DELTA_DOES_NOT_EXISTS, -1601, "", true)             \
-    M(OLAP_ERR_ALTER_STATUS_ERR, -1602, "", true)                        \
-    M(OLAP_ERR_PREVIOUS_SCHEMA_CHANGE_NOT_FINISHED, -1603, "", true)     \
-    M(OLAP_ERR_SCHEMA_CHANGE_INFO_INVALID, -1604, "", true)              \
-    M(OLAP_ERR_QUERY_SPLIT_KEY_ERR, -1605, "", true)                     \
-    M(OLAP_ERR_DATA_QUALITY_ERR, -1606, "", true)                        \
-    M(OLAP_ERR_COLUMN_DATA_LOAD_BLOCK, -1700, "", true)                  \
-    M(OLAP_ERR_COLUMN_DATA_RECORD_INDEX, -1701, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_MAKE_FILE_HEADER, -1702, "", true)            \
-    M(OLAP_ERR_COLUMN_DATA_READ_VAR_INT, -1703, "", true)                \
-    M(OLAP_ERR_COLUMN_DATA_PATCH_LIST_NUM, -1704, "", true)              \
-    M(OLAP_ERR_COLUMN_STREAM_EOF, -1705, "", false)                      \
-    M(OLAP_ERR_COLUMN_READ_STREAM, -1706, "", true)                      \
-    M(OLAP_ERR_COLUMN_STREAM_NOT_EXIST, -1716, "", true)                 \
-    M(OLAP_ERR_COLUMN_VALUE_NULL, -1717, "", true)                       \
-    M(OLAP_ERR_COLUMN_SEEK_ERROR, -1719, "", true)                       \
-    M(OLAP_ERR_DELETE_INVALID_CONDITION, -1900, "", true)                \
-    M(OLAP_ERR_DELETE_UPDATE_HEADER_FAILED, -1901, "", true)             \
-    M(OLAP_ERR_DELETE_SAVE_HEADER_FAILED, -1902, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_PARAMETERS, -1903, "", true)               \
-    M(OLAP_ERR_DELETE_INVALID_VERSION, -1904, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_NO_SUITABLE_VERSION, -2000, "", false)         \
-    M(OLAP_ERR_CUMULATIVE_REPEAT_INIT, -2001, "", true)                  \
-    M(OLAP_ERR_CUMULATIVE_INVALID_PARAMETERS, -2002, "", true)           \
-    M(OLAP_ERR_CUMULATIVE_FAILED_ACQUIRE_DATA_SOURCE, -2003, "", true)   \
-    M(OLAP_ERR_CUMULATIVE_INVALID_NEED_MERGED_VERSIONS, -2004, "", true) \
-    M(OLAP_ERR_CUMULATIVE_ERROR_DELETE_ACTION, -2005, "", true)          \
-    M(OLAP_ERR_CUMULATIVE_MISS_VERSION, -2006, "", true)                 \
-    M(OLAP_ERR_CUMULATIVE_CLONE_OCCURRED, -2007, "", true)               \
-    M(OLAP_ERR_META_INVALID_ARGUMENT, -3000, "", true)                   \
-    M(OLAP_ERR_META_OPEN_DB, -3001, "", true)                            \
-    M(OLAP_ERR_META_KEY_NOT_FOUND, -3002, "", true)                      \
-    M(OLAP_ERR_META_GET, -3003, "", true)                                \
-    M(OLAP_ERR_META_PUT, -3004, "", true)                                \
-    M(OLAP_ERR_META_ITERATOR, -3005, "", true)                           \
-    M(OLAP_ERR_META_DELETE, -3006, "", true)                             \
-    M(OLAP_ERR_META_ALREADY_EXIST, -3007, "", true)                      \
-    M(OLAP_ERR_ROWSET_WRITER_INIT, -3100, "", true)                      \
-    M(OLAP_ERR_ROWSET_SAVE_FAILED, -3101, "", true)                      \
-    M(OLAP_ERR_ROWSET_GENERATE_ID_FAILED, -3102, "", true)               \
-    M(OLAP_ERR_ROWSET_DELETE_FILE_FAILED, -3103, "", true)               \
-    M(OLAP_ERR_ROWSET_BUILDER_INIT, -3104, "", true)                     \
-    M(OLAP_ERR_ROWSET_TYPE_NOT_FOUND, -3105, "", true)                   \
-    M(OLAP_ERR_ROWSET_ALREADY_EXIST, -3106, "", true)                    \
-    M(OLAP_ERR_ROWSET_CREATE_READER, -3107, "", true)                    \
-    M(OLAP_ERR_ROWSET_INVALID, -3108, "", true)                          \
-    M(OLAP_ERR_ROWSET_LOAD_FAILED, -3109, "", true)                      \
-    M(OLAP_ERR_ROWSET_READER_INIT, -3110, "", true)                      \
-    M(OLAP_ERR_ROWSET_READ_FAILED, -3111, "", true)                      \
-    M(OLAP_ERR_ROWSET_INVALID_STATE_TRANSITION, -3112, "", true)         \
-    M(OLAP_ERR_STRING_OVERFLOW_IN_VEC_ENGINE, -3113, "", true)           \
-    M(OLAP_ERR_ROWSET_ADD_MIGRATION_V2, -3114, "", true)                 \
-    M(OLAP_ERR_PUBLISH_VERSION_NOT_CONTINUOUS, -3115, "", false)         \
-    M(OLAP_ERR_ROWSET_RENAME_FILE_FAILED, -3116, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_READER, -3117, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_INIT_WRITER, -3118, "", false)              \
-    M(OLAP_ERR_SEGCOMPACTION_FAILED, -3119, "", false)
-
-enum ErrorCode {
-#define M(NAME, ERRORCODE, DESC, STACKTRACEENABLED) NAME = ERRORCODE,
-    APPLY_FOR_ERROR_CODES(M)
-#undef M
-};
+namespace ErrorCode {
+#define E(name, code) static constexpr int name = code
+E(OK, 0);
+#define TStatusError(name) E(name, TStatusCode::name)
+// Errors defined in TStatus
+TStatusError(PUBLISH_TIMEOUT);
+TStatusError(MEM_ALLOC_FAILED);
+TStatusError(BUFFER_ALLOCATION_FAILED);
+TStatusError(INVALID_ARGUMENT);
+TStatusError(MINIMUM_RESERVATION_UNAVAILABLE);
+TStatusError(CORRUPTION);
+TStatusError(IO_ERROR);
+TStatusError(NOT_FOUND);
+TStatusError(ALREADY_EXIST);
+TStatusError(NOT_IMPLEMENTED_ERROR);
+TStatusError(END_OF_FILE);
+TStatusError(INTERNAL_ERROR);
+TStatusError(RUNTIME_ERROR);
+TStatusError(CANCELLED);
+TStatusError(MEM_LIMIT_EXCEEDED);
+TStatusError(THRIFT_RPC_ERROR);
+TStatusError(TIMEOUT);
+TStatusError(TOO_MANY_TASKS);
+TStatusError(SERVICE_UNAVAILABLE);
+TStatusError(UNINITIALIZED);
+TStatusError(ABORTED);
+TStatusError(DATA_QUALITY_ERROR);
+TStatusError(LABEL_ALREADY_EXISTS);
+#undef TStatusError
+// BE internal errors
+E(OS_ERROR, -100);
+E(DIR_NOT_EXIST, -101);
+E(FILE_NOT_EXIST, -102);
+E(CREATE_FILE_ERROR, -103);
+E(STL_ERROR, -105);
+E(MUTEX_ERROR, -107);
+E(PTHREAD_ERROR, -108);
+E(NETWORK_ERROR, -109);
+E(UB_FUNC_ERROR, -110);
+E(COMPRESS_ERROR, -111);
+E(DECOMPRESS_ERROR, -112);
+E(UNKNOWN_COMPRESSION_TYPE, -113);
+E(MMAP_ERROR, -114);
+E(READ_UNENOUGH, -116);
+E(CANNOT_CREATE_DIR, -117);
+E(UB_NETWORK_ERROR, -118);
+E(FILE_FORMAT_ERROR, -119);
+E(EVAL_CONJUNCTS_ERROR, -120);

Review Comment:
   warning: unused variable 'EVAL_CONJUNCTS_ERROR' [clang-diagnostic-unused-const-variable]
   ```cpp
   E(EVAL_CONJUNCTS_ERROR, -120);
     ^
   ```
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


[GitHub] [doris] yiguolei commented on a diff in pull request #14744: [Enhancement](status) Unify error code and enable customed err msg for BE internal errors

Posted by GitBox <gi...@apache.org>.
yiguolei commented on code in PR #14744:
URL: https://github.com/apache/doris/pull/14744#discussion_r1037730577


##########
be/src/common/daemon.cpp:
##########
@@ -408,20 +408,20 @@ void Daemon::start() {
     st = Thread::create(
             "Daemon", "tcmalloc_gc_thread", [this]() { this->tcmalloc_gc_thread(); },
             &_tcmalloc_gc_thread);
-    CHECK(st.ok()) << st.to_string();
+    CHECK(st.ok()) << st;

Review Comment:
   Could we add another MACRO like CHECK(STATUS), IF STATUS not ok, just print statck error stack inside the marco.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


[GitHub] [doris] yiguolei merged pull request #14744: [Enhancement](status) Unify error code and enable customed err msg for BE internal errors

Posted by GitBox <gi...@apache.org>.
yiguolei merged PR #14744:
URL: https://github.com/apache/doris/pull/14744


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org