From 6983fb0ae258efd0389ac618fc036fa990284dab Mon Sep 17 00:00:00 2001 From: Jiachen1018 Date: Tue, 5 Mar 2024 11:27:31 +0800 Subject: [PATCH 1/2] adjust MAX_MESSAGE_SIZE --- storage/tianchi/ha_tse.h | 2 +- storage/tianchi/ha_tsepart.cc | 9 +++++---- storage/tianchi/tse_srv.h | 3 +-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/storage/tianchi/ha_tse.h b/storage/tianchi/ha_tse.h index 8f663a1..6e2807a 100644 --- a/storage/tianchi/ha_tse.h +++ b/storage/tianchi/ha_tse.h @@ -132,7 +132,7 @@ again. */ #define TSE_INTERNAL_TMP_TABLE 2 #define TSE_TABLE_CONTAINS_VIRCOL 4 -#define CTC_ANALYZE_TIME_SEC 60 +#define CTC_ANALYZE_TIME_SEC 100 /* cond pushdown */ diff --git a/storage/tianchi/ha_tsepart.cc b/storage/tianchi/ha_tsepart.cc index 3742d65..fc5d883 100644 --- a/storage/tianchi/ha_tsepart.cc +++ b/storage/tianchi/ha_tsepart.cc @@ -1000,18 +1000,19 @@ int ha_tsepart::get_cbo_stats_4share() } update_member_tch(m_tch, get_tse_hton(), thd); - uint32_t part_per_cnt = MAX_MESSAGE_SIZE / (table->s->fields * sizeof(tse_cbo_stats_column_t) + CBO_PART_MEM_RESIDUAL); + uint32_t data_size = m_part_share->cbo_stats->msg_len; uint32_t part_cnt = m_part_share->cbo_stats->part_cnt; - uint32_t fetch_times = part_cnt / part_per_cnt; + uint32_t num_part_fetch = MAX_MESSAGE_SIZE / data_size; + uint32_t fetch_times = part_cnt / num_part_fetch; uint32_t first_partid = 0; - uint32_t num_part_fetch = part_per_cnt; + for (uint32_t i = 0; icbo_stats, first_partid, num_part_fetch); if (ret != CT_SUCCESS) { return ret; } - first_partid += part_per_cnt; + first_partid += num_part_fetch; } num_part_fetch = part_cnt - first_partid; diff --git a/storage/tianchi/tse_srv.h b/storage/tianchi/tse_srv.h index 64182e1..e3dca7b 100644 --- a/storage/tianchi/tse_srv.h +++ b/storage/tianchi/tse_srv.h @@ -33,7 +33,6 @@ extern "C" { #define SENSI_INFO #endif -#define CBO_PART_MEM_RESIDUAL 1000 #define STATS_HISTGRAM_MAX_SIZE 254 #define SMALL_RECORD_SIZE 128 // 表名、库名等长度不会特别大,取128 #define ERROR_MESSAGE_LEN 512 @@ -57,7 +56,7 @@ extern "C" { #define IS_TSE_PART(part_id) ((part_id) < (PART_CURSOR_NUM)) #define MAX_BULK_INSERT_PART_ROWS 128 #define SESSION_CURSOR_NUM (8192 * 2) -#define MAX_MESSAGE_SIZE 52428800 // 共享内存最大可申请空间大小 +#define MAX_MESSAGE_SIZE 8200000 // 共享内存最大可申请空间大小 // for broadcast_req.options #define TSE_SET_VARIABLE_PERSIST (0x1 << 8) -- Gitee From 7c44a7e931288981a1f61629dd90b9f74f027191 Mon Sep 17 00:00:00 2001 From: zhaozihao Date: Wed, 6 Mar 2024 10:17:47 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=A4=87=E5=8D=87=E4=B8=BB=E4=BF=AE?= =?UTF-8?q?=E6=94=B9read=5Fonly=E7=9A=84=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- storage/tianchi/ha_tse.cc | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/storage/tianchi/ha_tse.cc b/storage/tianchi/ha_tse.cc index cb5fcd2..4765f38 100644 --- a/storage/tianchi/ha_tse.cc +++ b/storage/tianchi/ha_tse.cc @@ -4305,11 +4305,17 @@ int tse_set_cluster_role_by_cantian(bool is_slave) { opt_readonly = false; tse_log_system("[Disaster Recovery] set super_read_only = false."); } else { - tse_ddl_broadcast_request local_req {{0}, {0}, {0}, {0}, 0, 0, 0, 0, {0}}; - memcpy(local_req.user_name, "super_read_only", strlen("super_read_only")); - memcpy(local_req.user_ip, "off", strlen("off")); - ctc_set_sys_var(&local_req); - tse_log_system("[Disaster Recovery] ctc_set_sys_var: local_req->user_ip: %s", local_req.user_ip); + tse_ddl_broadcast_request local_req_sro {{0}, {0}, {0}, {0}, 0, 0, 0, 0, {0}}; + memcpy(local_req_sro.user_name, "super_read_only", strlen("super_read_only")); + memcpy(local_req_sro.user_ip, "off", strlen("off")); + ctc_set_sys_var(&local_req_sro); + tse_log_system("[Disaster Recovery] ctc_set_sys_var: local_req->user_ip: %s", local_req_sro.user_ip); + + tse_ddl_broadcast_request local_req_ro {{0}, {0}, {0}, {0}, 0, 0, 0, 0, {0}}; + memcpy(local_req_ro.user_name, "read_only", strlen("read_only")); + memcpy(local_req_ro.user_ip, "off", strlen("off")); + ctc_set_sys_var(&local_req_ro); + tse_log_system("[Disaster Recovery] ctc_set_sys_var: local_req->user_ip: %s", local_req_ro.user_ip); } } return 0; -- Gitee