diff --git a/src/rootserver/ddl_task/ob_ddl_redefinition_task.cpp b/src/rootserver/ddl_task/ob_ddl_redefinition_task.cpp index 936b504093..f07faaf01f 100644 --- a/src/rootserver/ddl_task/ob_ddl_redefinition_task.cpp +++ b/src/rootserver/ddl_task/ob_ddl_redefinition_task.cpp @@ -1815,14 +1815,14 @@ int ObDDLRedefinitionTask::sync_column_stats_info_accross_tenant(common::ObMySQL ObArray target_partition_ids; ObHashMap part_ids_map; ObOptStatSqlService &stat_svr = ObOptStatManager::get_instance().get_stat_sql_service(); - common::ObArenaAllocator allocator(lib::ObLabel("RedefTask")); + common::ObArenaAllocator allocator(lib::ObLabel("SyncColStats")); ObSEArray target_column_stats; if (column_stats.empty()) { LOG_INFO("column stats are empty, no need to sync", K_(tenant_id), K_(dst_tenant_id), K_(object_id), K_(target_object_id)); } else { // build partition id mapping table in order to replace the old partition // with new partition. - if (OB_FAIL(part_ids_map.create(MAP_BUCKET_NUM, "RedefTask"))) { + if (OB_FAIL(part_ids_map.create(MAP_BUCKET_NUM, "SyncColStats"))) { LOG_WARN("failed to create map", K(ret)); } else if (!data_table_schema.is_partitioned_table()) { if (OB_FAIL(part_ids_map.set_refactored(object_id_, target_object_id_))) { @@ -1879,6 +1879,7 @@ int ObDDLRedefinitionTask::sync_column_stats_info_accross_tenant(common::ObMySQL LOG_INFO("column stats are empty, no need to sync", K_(tenant_id), K_(dst_tenant_id), K_(object_id), K_(target_object_id)); } else if (OB_FAIL(stat_svr.update_column_stat(dst_tenant_schema_guard, dst_tenant_id_, + allocator, trans, target_column_stats, ObTimeUtility::current_time(), diff --git a/src/share/restore/ob_import_table_struct.h b/src/share/restore/ob_import_table_struct.h index b3ace7b2b3..8125d5ffcf 100644 --- a/src/share/restore/ob_import_table_struct.h +++ b/src/share/restore/ob_import_table_struct.h @@ -32,7 +32,7 @@ public: int set_result(const bool is_succeed, const char *buf); int set_result(const int err_code, const share::ObTaskId &trace_id, const ObAddr &addr, const ObString &extra_info = ObString()); void reset(); - const char *get_result_str() const { return is_succeed_ ? "SUCCEESS" : "FAILED"; } + const char *get_result_str() const { return is_succeed_ ? "SUCCESS" : "FAILED"; } const char *get_comment() const { return comment_.ptr(); } bool is_succeed() const { return is_succeed_; } bool is_comment_setted() const { return !comment_.is_empty(); } diff --git a/src/share/stat/ob_opt_stat_manager.cpp b/src/share/stat/ob_opt_stat_manager.cpp index 05f7f21c1a..cef366182a 100644 --- a/src/share/stat/ob_opt_stat_manager.cpp +++ b/src/share/stat/ob_opt_stat_manager.cpp @@ -245,12 +245,14 @@ int ObOptStatManager::update_column_stat(share::schema::ObSchemaGetterGuard *sch const ObObjPrintParams &print_params) { int ret = OB_SUCCESS; + ObArenaAllocator allocator("UpdateColStat", OB_MALLOC_NORMAL_BLOCK_SIZE, tenant_id); int64_t current_time = ObTimeUtility::current_time(); if (!inited_) { ret = OB_NOT_INIT; LOG_WARN("optimizer statistics manager has not been initialized.", K(ret)); } else if (OB_FAIL(stat_service_.get_sql_service().update_column_stat(schema_guard, tenant_id, + allocator, trans, column_stats, current_time, @@ -384,6 +386,7 @@ int ObOptStatManager::batch_write(share::schema::ObSchemaGetterGuard *schema_gua const ObObjPrintParams &print_params) { int ret = OB_SUCCESS; + ObArenaAllocator allocator("UpdateColStat", OB_MALLOC_NORMAL_BLOCK_SIZE, tenant_id); if (OB_UNLIKELY(!inited_)) { ret = OB_NOT_INIT; LOG_WARN("optimizer statistics manager has not been initialized.", K(ret)); @@ -399,6 +402,7 @@ int ObOptStatManager::batch_write(share::schema::ObSchemaGetterGuard *schema_gua } else if (!column_stats.empty() && OB_FAIL(stat_service_.get_sql_service().update_column_stat(schema_guard, tenant_id, + allocator, trans, column_stats, current_time, diff --git a/src/share/stat/ob_opt_stat_sql_service.cpp b/src/share/stat/ob_opt_stat_sql_service.cpp index 1a7b7c8a31..7d5ac5375e 100644 --- a/src/share/stat/ob_opt_stat_sql_service.cpp +++ b/src/share/stat/ob_opt_stat_sql_service.cpp @@ -476,6 +476,7 @@ int ObOptStatSqlService::update_table_stat(const uint64_t tenant_id, int ObOptStatSqlService::update_column_stat(share::schema::ObSchemaGetterGuard *schema_guard, const uint64_t exec_tenant_id, + ObIAllocator &allocator, ObMySQLTransaction &trans, const ObIArray &column_stats, const int64_t current_time, @@ -488,7 +489,6 @@ int ObOptStatSqlService::update_column_stat(share::schema::ObSchemaGetterGuard * ObSqlString insert_histogram; ObSqlString delete_histogram; ObSqlString column_stats_sql; - ObArenaAllocator allocator("UpdateColStat", OB_MALLOC_NORMAL_BLOCK_SIZE, exec_tenant_id); bool need_histogram = false; if (!inited_) { ret = OB_NOT_INIT; diff --git a/src/share/stat/ob_opt_stat_sql_service.h b/src/share/stat/ob_opt_stat_sql_service.h index 93e450c00a..752c1f50b6 100644 --- a/src/share/stat/ob_opt_stat_sql_service.h +++ b/src/share/stat/ob_opt_stat_sql_service.h @@ -105,6 +105,7 @@ public: const bool is_history_stat = false); int update_column_stat(share::schema::ObSchemaGetterGuard *schema_guard, const uint64_t exec_tenant_id, + ObIAllocator &allocator, ObMySQLTransaction &trans, const common::ObIArray &column_stats, const int64_t current_time,