diff options
author | Aleksey Midenkov <midenok@gmail.com> | 2021-03-27 14:18:44 +0300 |
---|---|---|
committer | Aleksey Midenkov <midenok@gmail.com> | 2021-03-27 15:19:39 +0300 |
commit | 67337e23a70accd46f55a1be87550e550cc5b63c (patch) | |
tree | d342adb4e16d09f371294c0ebb73b0639e2adb7c | |
parent | b06b77ef7994f54cf5d3a2d67dacb67b68c574d8 (diff) | |
download | mariadb-git-bb-10.6-midenok-MDEV-23844.tar.gz |
Better debug tracebb-10.6-midenok-MDEV-23844
-rw-r--r-- | sql/ddl_log.cc | 20 | ||||
-rw-r--r-- | sql/sql_table.cc | 3 |
2 files changed, 17 insertions, 6 deletions
diff --git a/sql/ddl_log.cc b/sql/ddl_log.cc index 4fa06f28218..7f8415c86b7 100644 --- a/sql/ddl_log.cc +++ b/sql/ddl_log.cc @@ -390,6 +390,7 @@ static bool disable_execute_entry(uint entry_pos) { uchar buff[1]; DBUG_ENTER("disable_execute_entry"); + DBUG_PRINT("ddl_log", ("pos: {%u}", entry_pos)); buff[0]= DDL_IGNORE_LOG_ENTRY_CODE; DBUG_RETURN(mysql_file_pwrite(global_ddl_log.file_id, buff, sizeof(buff), @@ -1253,13 +1254,15 @@ static int ddl_log_execute_action(THD *thd, MEM_ROOT *mem_root, mysql_mutex_assert_owner(&LOCK_gdl); DBUG_PRINT("ddl_log", - ("entry type: %u action type: %u (%s) phase: %u next: %u " + ("pos: %u=>%u->%u type: %u action: %u (%s) phase: %u " "handler: '%s' name: '%s' from_name: '%s' tmp_name: '%s'", + recovery_state.execute_entry_pos, + ddl_log_entry->entry_pos, + ddl_log_entry->next_entry, (uint) ddl_log_entry->entry_type, (uint) ddl_log_entry->action_type, ddl_log_action_name[ddl_log_entry->action_type], (uint) ddl_log_entry->phase, - ddl_log_entry->next_entry, ddl_log_entry->handler_name.str, ddl_log_entry->name.str, ddl_log_entry->from_name.str, @@ -2383,13 +2386,15 @@ bool ddl_log_write_entry(DDL_LOG_ENTRY *ddl_log_entry, error= FALSE; DBUG_PRINT("ddl_log", - ("entry type: %u action type: %u (%s) phase: %u next: %u " + ("pos: %u<-%u type: %u action: %u (%s) phase: %u " "handler: '%s' name: '%s' from_name: '%s' tmp_name: '%s'", + (*active_entry)->entry_pos, + (*active_entry)->next_log_entry ? + (*active_entry)->next_log_entry->entry_pos : 0, (uint) ddl_log_entry->entry_type, (uint) ddl_log_entry->action_type, ddl_log_action_name[ddl_log_entry->action_type], (uint) ddl_log_entry->phase, - ddl_log_entry->next_entry, ddl_log_entry->handler_name.str, ddl_log_entry->name.str, ddl_log_entry->from_name.str, @@ -2457,7 +2462,11 @@ bool ddl_log_write_execute_entry(uint first_entry, if (ddl_log_get_free_entry(active_entry)) DBUG_RETURN(TRUE); got_free_entry= TRUE; - } + } + DBUG_PRINT("ddl_log", + ("pos: %u=>%u type: %u", + (*active_entry)->entry_pos, first_entry, + (uint) global_ddl_log.file_entry_buf[DDL_LOG_ENTRY_TYPE_POS])); if (write_ddl_log_file_entry((*active_entry)->entry_pos)) { if (got_free_entry) @@ -2490,6 +2499,7 @@ bool ddl_log_increment_phase(uint entry_pos) { bool error; DBUG_ENTER("ddl_log_increment_phase"); + DBUG_PRINT("ddl_log", ("pos: %u", entry_pos)); mysql_mutex_lock(&LOCK_gdl); error= ddl_log_increment_phase_no_lock(entry_pos); diff --git a/sql/sql_table.cc b/sql/sql_table.cc index e7feaede4f9..cd53dbc006e 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -1319,6 +1319,7 @@ int mysql_rm_table_no_locks(THD *thd, TABLE_LIST *tables, rename_param param; DDL_LOG_STATE rename_log_state; + DDL_LOG_STATE *ddl_log_state2= &rename_log_state; bool force_if_exists; if (!opt_bootstrap) @@ -1332,7 +1333,7 @@ int mysql_rm_table_no_locks(THD *thd, TABLE_LIST *tables, } if(mysql_check_rename(thd, ¶m, table, &table->db, &t.table_name, &t.table_name, false, false) || - mysql_do_rename(thd, ¶m, &rename_log_state, table, &table->db, &t.table_name, + mysql_do_rename(thd, ¶m, ddl_log_state, table, &table->db, &t.table_name, &t.table_name, false, false, &force_if_exists)) { error= ENOENT; |