Skip to content
Permalink
Browse files
Merge branch 'merge-xtradb-5.6' into 10.0
  • Loading branch information
sanja-byelkin committed Jan 28, 2019
2 parents c2197e0 + 3262afc commit 959f741
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 14 deletions.
@@ -48,7 +48,7 @@ Created 1/20/1994 Heikki Tuuri
#define INNODB_VERSION_BUGFIX 39

#ifndef PERCONA_INNODB_VERSION
#define PERCONA_INNODB_VERSION 84.1
#define PERCONA_INNODB_VERSION 84.2
#endif

/* Enable UNIV_LOG_ARCHIVE in XtraDB */
@@ -1873,6 +1873,8 @@ log_online_purge_changed_page_bitmaps(

for (i = 0; i < bitmap_files.count; i++) {

char full_bmp_file_name[2 * FN_REFLEN + 2];

/* We consider the end LSN of the current bitmap, derived from
the start LSN of the subsequent bitmap file, to determine
whether to remove the current bitmap. Note that bitmap_files
@@ -1888,8 +1890,45 @@ log_online_purge_changed_page_bitmaps(

break;
}

/* In some non-trivial cases the sequence of .xdb files may
have gaps. For instance:
ib_modified_log_1_0.xdb
ib_modified_log_2_<mmm>.xdb
ib_modified_log_4_<nnn>.xdb
Adding this check as a safety precaution. */
if (bitmap_files.files[i].name[0] == '\0')
continue;

/* If redo log tracking is enabled, reuse 'bmp_file_home'
from 'log_bmp_sys'. Otherwise, compose the full '.xdb' file
path from 'srv_data_home', adding a path separator if
necessary. */
if (log_bmp_sys != NULL) {
ut_snprintf(full_bmp_file_name,
sizeof(full_bmp_file_name),
"%s%s", log_bmp_sys->bmp_file_home,
bitmap_files.files[i].name);
}
else {
char separator[2] = {0, 0};
const size_t srv_data_home_len =
strlen(srv_data_home);

ut_a(srv_data_home_len < FN_REFLEN);
if (srv_data_home_len != 0 &&
srv_data_home[srv_data_home_len - 1] !=
SRV_PATH_SEPARATOR) {
separator[0] = SRV_PATH_SEPARATOR;
}
ut_snprintf(full_bmp_file_name,
sizeof(full_bmp_file_name), "%s%s%s",
srv_data_home, separator,
bitmap_files.files[i].name);
}

if (!os_file_delete_if_exists(innodb_file_bmp_key,
bitmap_files.files[i].name)) {
full_bmp_file_name)) {

os_file_get_last_error(TRUE);
result = TRUE;
@@ -4996,18 +4996,6 @@ row_rename_table_for_mysql(
goto funct_exit;
}

/* Wait for background fts sync to finish */
for (retry = 1; dict_fts_index_syncing(table); ++retry) {
DICT_BG_YIELD(trx);
if (retry % 100 == 0) {
ib_logf(IB_LOG_LEVEL_INFO,
"Unable to rename table %s to new name"
" %s because FTS sync is running on table."
" Retrying\n",
old_name, new_name);
}
}

/* We use the private SQL parser of Innobase to generate the query
graphs needed in updating the dictionary data from system tables. */

0 comments on commit 959f741

Please sign in to comment.