diff --git a/storage/tianchi/ctc_meta_data.cc b/storage/tianchi/ctc_meta_data.cc index d8cc8cdd2c69ec80645de8a7827302e96a2e609d..7b601dec4cc3bac2ef89001ad3ee7567b1cdfced 100644 --- a/storage/tianchi/ctc_meta_data.cc +++ b/storage/tianchi/ctc_meta_data.cc @@ -123,26 +123,7 @@ static void release_tse_mdl_thd_by_key(uint64_t mdl_thd_key) { g_tse_mdl_thd_map.erase(mdl_thd_key); } -static void ctc_reload_acl_caches() { - THD *reload_acl_thd = new (std::nothrow) THD; - my_thread_init(); - reload_acl_thd->set_new_thread_id(); - reload_acl_thd->thread_stack = (char *)&reload_acl_thd; - reload_acl_thd->store_globals(); - reload_acl_thd->set_query("tse_mdl_thd_notify", 18); - - reload_acl_caches(reload_acl_thd, false); - tse_log_system("[TSE_RELOAD_ACL]:reload acl caches thd_id:%u", reload_acl_thd->thread_id()); - - reload_acl_thd->release_resources(); - delete reload_acl_thd; - - my_thread_end(); -} - static void release_tse_mdl_thd_by_cantian_id(uint16_t cantian_inst_id) { - ctc_reload_acl_caches(); - lock_guard lock(m_tse_mdl_thd_mutex); for (auto iter = g_tse_mdl_thd_map.begin(); iter != g_tse_mdl_thd_map.end(); ) { if (tse_get_cantian_id_from_conn_key(iter->first) == cantian_inst_id) { @@ -176,8 +157,7 @@ static void release_tse_mdl_thd_by_inst_id(uint32_t mysql_inst_id) { static void ctc_init_thd(THD **thd, uint64_t thd_key) { lock_guard lock(m_tse_mdl_thd_mutex); - uint64_t bypass_key = tse_get_conn_key((uint32)0xFFFFFFFF - 1, (uint32)0xFFFFFFFF - 1, true); - if (g_tse_mdl_thd_map.find(thd_key) != g_tse_mdl_thd_map.end() && thd_key != bypass_key) { + if (g_tse_mdl_thd_map.find(thd_key) != g_tse_mdl_thd_map.end()) { (*thd) = g_tse_mdl_thd_map[thd_key]; my_thread_init(); (*thd)->store_globals(); @@ -401,27 +381,6 @@ typename std::enable_if::type return false; } -int tse_update_mysql_dd_cache(char *sql_str) { - // 判断一下是不是slave—cluster,并且是归一。 - if ((!IS_METADATA_NORMALIZATION())) { - tse_log_error("Do not try to invalidate all local dd cache in metadata_normalization mode or primary_cluster."); - return -1; - } - // 获取一个thd - THD *thd = nullptr; - uint64_t thd_key = tse_get_conn_key((uint32)0xFFFFFFFF - 1, (uint32)0xFFFFFFFF - 1, true); - ctc_init_thd(&thd, thd_key); - - //清空dcl的cache - reload_acl_caches(thd, false); - - // 拿到Client dd cache, 清空 - // 拿到Shared dd cache,清空 - int ret = dd::execute_query(thd, dd::String_type((const char*)sql_str)); - tse_log_system("Tse update mysql dd cache, the sql: %s, ret:%d", sql_str, ret); - return false; -} - template static typename std::enable_if::type tse_invalidate_mysql_dd_cache_impl(tianchi_handler_t *tch, tse_invalidate_broadcast_request *broadcast_req, int *err_code) { @@ -500,20 +459,6 @@ static typename std::enable_if::typ return 0; } -int tse_invalidate_all_dd_cache() { - THD *thd = nullptr; - uint64_t thd_key = tse_get_conn_key((uint32)0xFFFFFFFF - 1, (uint32)0xFFFFFFFF - 1, true); - ctc_init_thd(&thd, thd_key); - -#ifdef METADATA_NORMALIZED - dd::cache::Shared_dictionary_cache::instance()->reset(true); - int not_used; - handle_reload_request(thd, (REFRESH_TABLES | REFRESH_FAST | REFRESH_THREADS), nullptr, ¬_used); - tse_log_system("[zzh debug] handle_reload_request finished."); -#endif - return 0; -} - int tse_invalidate_mysql_dd_cache(tianchi_handler_t *tch, tse_invalidate_broadcast_request *broadcast_req, int *err_code) { return (int)tse_invalidate_mysql_dd_cache_impl(tch, broadcast_req, err_code); } diff --git a/storage/tianchi/ha_tse.cc b/storage/tianchi/ha_tse.cc index 59b211e097be1981f6fa3e2852958a240b9a6943..d5b4c00c83ee7b1f1f9200483dbe8b3e55d42b1f 100644 --- a/storage/tianchi/ha_tse.cc +++ b/storage/tianchi/ha_tse.cc @@ -5272,7 +5272,6 @@ void ha_tse::free_cbo_stats() sum of boolean terms which could not be pushed. A nullptr is returned if entire condition was supported. */ - const Item *ha_tse::cond_push(const Item *cond, bool other_tbls_ok MY_ATTRIBUTE((unused))) { assert(pushed_cond == nullptr); diff --git a/storage/tianchi/srv_mq_msg.h b/storage/tianchi/srv_mq_msg.h index a405187422c1305f13df7a2488b2236389150565..6a3c82049265a47801189d18ca92484360d4a92c 100644 --- a/storage/tianchi/srv_mq_msg.h +++ b/storage/tianchi/srv_mq_msg.h @@ -428,17 +428,6 @@ struct invalidate_mysql_dd_request { int result; }; -struct invalidate_all_dd_cache_request { - int result; -}; - -struct update_mysql_dd_cache_request { - char sql_str[MAX_DDL_SQL_LEN]; - uint32_t inst_id; - uint32_t thd_id; - int result; -}; - void* alloc_share_mem(void* shm_inst, uint32_t mem_size); void free_share_mem(void* shm_inst, void* shm_mem); diff --git a/storage/tianchi/tse_srv.h b/storage/tianchi/tse_srv.h index 4657030795c06ddbcb386d7a1957411b01fd946a..271481f3dadbfa11960140fbcc47752335d5012b 100644 --- a/storage/tianchi/tse_srv.h +++ b/storage/tianchi/tse_srv.h @@ -612,9 +612,7 @@ int tse_check_db_table_exists(const char *db, const char *name, bool *is_exists) int tse_search_metadata_status(bool *cantian_metadata_switch, bool *cantian_cluster_ready); int tse_invalidate_mysql_dd_cache(tianchi_handler_t *tch, tse_invalidate_broadcast_request *broadcast_req, int *err_code); -int tse_invalidate_all_dd_cache(); int tse_broadcast_mysql_dd_invalidate(tianchi_handler_t *tch, tse_invalidate_broadcast_request *broadcast_req); -int tse_update_mysql_dd_cache(char *sql_str); /* Disaster Recovery Related Interface*/ int tse_set_cluster_role_by_cantian(bool is_slave); diff --git a/storage/tianchi/tse_srv_mq_module.cc b/storage/tianchi/tse_srv_mq_module.cc index c2c6bd2187a049964df46b5901bd6e704302a6c2..f5eb8bcedfde61bc35d5ddc4890e000971ee8336 100644 --- a/storage/tianchi/tse_srv_mq_module.cc +++ b/storage/tianchi/tse_srv_mq_module.cc @@ -104,26 +104,11 @@ static void* mq_msg_handler(void *arg) { CTC_IGNORE_ERROR_WHEN_MYSQL_SHUTDOWN(req, "tse_invalidate_mysql_dd_cache"); break; } - case TSE_FUNC_TYPE_INVALIDATE_ALL_OBJECTS: { - struct invalidate_all_dd_cache_request *req = (struct invalidate_all_dd_cache_request *)message_block->seg_buf[0]; - req->result = tse_invalidate_all_dd_cache(); - tse_log_note("[Disaster Recovery] invalidate all dd cache."); - CTC_IGNORE_ERROR_WHEN_MYSQL_SHUTDOWN(req, "tse_invalidate_all_mysql_dd_cache"); - break; - } - case TSE_FUNC_TYPE_UPDATE_DDCACHE: { - struct update_mysql_dd_cache_request *req = (struct update_mysql_dd_cache_request *)message_block->seg_buf[0]; - req->result = tse_update_mysql_dd_cache(req->sql_str); - tse_log_note("update dd cache: thd_id : %d, inst_id : %d, ret : %d.", req->thd_id, req->inst_id, - req->result); - CTC_IGNORE_ERROR_WHEN_MYSQL_SHUTDOWN(req, "tse_update_mysql_dd_cache"); - break; - } case TSE_FUNC_SET_CLUSTER_ROLE_BY_CANTIAN: { struct set_cluster_role_by_cantian_request *req = (struct set_cluster_role_by_cantian_request *)message_block->seg_buf[0]; req->result = tse_set_cluster_role_by_cantian(req->is_slave); tse_log_note("[Disaster Recovery] Set cluster role by cantian, is_slave:%d", req->is_slave); - CTC_IGNORE_ERROR_WHEN_MYSQL_SHUTDOWN(req, "tse_update_mysql_dd_cache"); + CTC_IGNORE_ERROR_WHEN_MYSQL_SHUTDOWN(req, "tse_set_cluster_role_by_cantian"); break; } default: {