Activity log for bug #1657417

Date Who What changed Old value New value Message
2017-01-18 11:12:56 zxszcaijin bug added bug
2017-01-18 11:14:37 zxszcaijin description I read the bug report about https://bugs.mysql.com/bug.php?id=69097,But i have a another probleam about init_gtid_sets. when we purge binlogs ,it call function MYSQL_BIN_LOG::purge_logs ,when file remove succes,it call MYSQL_BIN_LOG::purge_logs to update the gtid_purged(code): for (it= filename_list.begin(); it != filename_list.end(); it++) { const char *filename= it->c_str(); DBUG_PRINT("info", ("filename='%s'", filename)); switch (read_gtids_from_binlog(filename, NULL, lost_gtids, NULL/* first_gtid */, NULL/* last_gtid */, sid_map, verify_checksum)) { case ERROR: { error= 1; /*FALLTHROUGH*/ } case GOT_GTIDS: { goto end; } case NO_GTIDS: { /* If the binlog_gtid_simple_recovery is enabled, and the first binary log does not contain any GTID event, do not read any more binary logs, GLOBAL.GTID_PURGED should be empty in the case. */ if (binlog_gtid_simple_recovery && !is_relay_log) { DBUG_ASSERT(lost_gtids->is_empty()); goto end; } /*FALLTHROUGH*/ } case GOT_PREVIOUS_GTIDS: case TRUNCATED: { break; } } } scan all binlog files from offset start to offset end .I thinks just read the header about gtid_previous is ok. I read the bug report about https://bugs.mysql.com/bug.php?id=69097,But i have a another probleam about init_gtid_sets. when we purge binlogs ,it call function MYSQL_BIN_LOG::purge_logs ,when file remove succes,it call MYSQL_BIN_LOG::init_gtid_sets to update the gtid_purged(code):   for (it= filename_list.begin(); it != filename_list.end(); it++)     {       const char *filename= it->c_str();       DBUG_PRINT("info", ("filename='%s'", filename));       switch (read_gtids_from_binlog(filename, NULL, lost_gtids,                                      NULL/* first_gtid */, NULL/* last_gtid */,                                      sid_map, verify_checksum))       {         case ERROR:         {           error= 1;           /*FALLTHROUGH*/         }         case GOT_GTIDS:         {           goto end;         }         case NO_GTIDS:         {           /*             If the binlog_gtid_simple_recovery is enabled, and the             first binary log does not contain any GTID event, do not             read any more binary logs, GLOBAL.GTID_PURGED should be             empty in the case.           */           if (binlog_gtid_simple_recovery && !is_relay_log)           {             DBUG_ASSERT(lost_gtids->is_empty());             goto end;           }           /*FALLTHROUGH*/         }         case GOT_PREVIOUS_GTIDS:         case TRUNCATED:         {           break;         }       }     } scan all binlog files from offset start to offset end .I thinks just read the header about gtid_previous is ok.
2017-01-18 11:17:45 zxszcaijin description I read the bug report about https://bugs.mysql.com/bug.php?id=69097,But i have a another probleam about init_gtid_sets. when we purge binlogs ,it call function MYSQL_BIN_LOG::purge_logs ,when file remove succes,it call MYSQL_BIN_LOG::init_gtid_sets to update the gtid_purged(code):   for (it= filename_list.begin(); it != filename_list.end(); it++)     {       const char *filename= it->c_str();       DBUG_PRINT("info", ("filename='%s'", filename));       switch (read_gtids_from_binlog(filename, NULL, lost_gtids,                                      NULL/* first_gtid */, NULL/* last_gtid */,                                      sid_map, verify_checksum))       {         case ERROR:         {           error= 1;           /*FALLTHROUGH*/         }         case GOT_GTIDS:         {           goto end;         }         case NO_GTIDS:         {           /*             If the binlog_gtid_simple_recovery is enabled, and the             first binary log does not contain any GTID event, do not             read any more binary logs, GLOBAL.GTID_PURGED should be             empty in the case.           */           if (binlog_gtid_simple_recovery && !is_relay_log)           {             DBUG_ASSERT(lost_gtids->is_empty());             goto end;           }           /*FALLTHROUGH*/         }         case GOT_PREVIOUS_GTIDS:         case TRUNCATED:         {           break;         }       }     } scan all binlog files from offset start to offset end .I thinks just read the header about gtid_previous is ok. I read the bug report about https://bugs.mysql.com/bug.php?id=69097,But i have a another probleam about init_gtid_sets.(from no-gtid evironment to gtid evironment) when we purge binlogs ,it call function MYSQL_BIN_LOG::purge_logs ,when file remove succes,it call MYSQL_BIN_LOG::init_gtid_sets to update the gtid_purged(code):   for (it= filename_list.begin(); it != filename_list.end(); it++)     {       const char *filename= it->c_str();       DBUG_PRINT("info", ("filename='%s'", filename));       switch (read_gtids_from_binlog(filename, NULL, lost_gtids,                                      NULL/* first_gtid */, NULL/* last_gtid */,                                      sid_map, verify_checksum))       {         case ERROR:         {           error= 1;           /*FALLTHROUGH*/         }         case GOT_GTIDS:         {           goto end;         }         case NO_GTIDS:         {           /*             If the binlog_gtid_simple_recovery is enabled, and the             first binary log does not contain any GTID event, do not             read any more binary logs, GLOBAL.GTID_PURGED should be             empty in the case.           */           if (binlog_gtid_simple_recovery && !is_relay_log)           {             DBUG_ASSERT(lost_gtids->is_empty());             goto end;           }           /*FALLTHROUGH*/         }         case GOT_PREVIOUS_GTIDS:         case TRUNCATED:         {           break;         }       }     } scan all binlog files from offset start to offset end .I thinks just read the header about gtid_previous is ok.
2017-01-18 11:18:23 zxszcaijin description I read the bug report about https://bugs.mysql.com/bug.php?id=69097,But i have a another probleam about init_gtid_sets.(from no-gtid evironment to gtid evironment) when we purge binlogs ,it call function MYSQL_BIN_LOG::purge_logs ,when file remove succes,it call MYSQL_BIN_LOG::init_gtid_sets to update the gtid_purged(code):   for (it= filename_list.begin(); it != filename_list.end(); it++)     {       const char *filename= it->c_str();       DBUG_PRINT("info", ("filename='%s'", filename));       switch (read_gtids_from_binlog(filename, NULL, lost_gtids,                                      NULL/* first_gtid */, NULL/* last_gtid */,                                      sid_map, verify_checksum))       {         case ERROR:         {           error= 1;           /*FALLTHROUGH*/         }         case GOT_GTIDS:         {           goto end;         }         case NO_GTIDS:         {           /*             If the binlog_gtid_simple_recovery is enabled, and the             first binary log does not contain any GTID event, do not             read any more binary logs, GLOBAL.GTID_PURGED should be             empty in the case.           */           if (binlog_gtid_simple_recovery && !is_relay_log)           {             DBUG_ASSERT(lost_gtids->is_empty());             goto end;           }           /*FALLTHROUGH*/         }         case GOT_PREVIOUS_GTIDS:         case TRUNCATED:         {           break;         }       }     } scan all binlog files from offset start to offset end .I thinks just read the header about gtid_previous is ok. I read the bug report about https://bugs.mysql.com/bug.php?id=69097,But i have a another probleam about init_gtid_sets.(from no-gtid evironment to gtid evironment) when we purge binlogs ,it call function MYSQL_BIN_LOG::purge_logs ,when file remove succes,it call MYSQL_BIN_LOG::init_gtid_sets to update the gtid_purged . code:   for (it= filename_list.begin(); it != filename_list.end(); it++)     {       const char *filename= it->c_str();       DBUG_PRINT("info", ("filename='%s'", filename));       switch (read_gtids_from_binlog(filename, NULL, lost_gtids,                                      NULL/* first_gtid */, NULL/* last_gtid */,                                      sid_map, verify_checksum))       {         case ERROR:         {           error= 1;           /*FALLTHROUGH*/         }         case GOT_GTIDS:         {           goto end;         }         case NO_GTIDS:         {           /*             If the binlog_gtid_simple_recovery is enabled, and the             first binary log does not contain any GTID event, do not             read any more binary logs, GLOBAL.GTID_PURGED should be             empty in the case.           */           if (binlog_gtid_simple_recovery && !is_relay_log)           {             DBUG_ASSERT(lost_gtids->is_empty());             goto end;           }           /*FALLTHROUGH*/         }         case GOT_PREVIOUS_GTIDS:         case TRUNCATED:         {           break;         }       }     } scan all binlog files from offset start to offset end .I thinks just read the header about gtid_previous is ok.
2017-01-18 14:52:12 zxszcaijin description I read the bug report about https://bugs.mysql.com/bug.php?id=69097,But i have a another probleam about init_gtid_sets.(from no-gtid evironment to gtid evironment) when we purge binlogs ,it call function MYSQL_BIN_LOG::purge_logs ,when file remove succes,it call MYSQL_BIN_LOG::init_gtid_sets to update the gtid_purged . code:   for (it= filename_list.begin(); it != filename_list.end(); it++)     {       const char *filename= it->c_str();       DBUG_PRINT("info", ("filename='%s'", filename));       switch (read_gtids_from_binlog(filename, NULL, lost_gtids,                                      NULL/* first_gtid */, NULL/* last_gtid */,                                      sid_map, verify_checksum))       {         case ERROR:         {           error= 1;           /*FALLTHROUGH*/         }         case GOT_GTIDS:         {           goto end;         }         case NO_GTIDS:         {           /*             If the binlog_gtid_simple_recovery is enabled, and the             first binary log does not contain any GTID event, do not             read any more binary logs, GLOBAL.GTID_PURGED should be             empty in the case.           */           if (binlog_gtid_simple_recovery && !is_relay_log)           {             DBUG_ASSERT(lost_gtids->is_empty());             goto end;           }           /*FALLTHROUGH*/         }         case GOT_PREVIOUS_GTIDS:         case TRUNCATED:         {           break;         }       }     } scan all binlog files from offset start to offset end .I thinks just read the header about gtid_previous is ok. I read the bug report about https://bugs.mysql.com/bug.php?id=69097,But i have a another probleam about init_gtid_sets. (from no-gtid evironment to gtid evironment) when we purge binlogs ,it call function MYSQL_BIN_LOG::purge_logs ,when file remove succes,it call MYSQL_BIN_LOG::init_gtid_sets to update the gtid_purged .   code:   for (it= filename_list.begin(); it != filename_list.end(); it++)     {       const char *filename= it->c_str();       DBUG_PRINT("info", ("filename='%s'", filename));       switch (read_gtids_from_binlog(filename, NULL, lost_gtids,                                      NULL/* first_gtid */, NULL/* last_gtid */,                                      sid_map, verify_checksum))       {         case ERROR:         {           error= 1;           /*FALLTHROUGH*/         }         case GOT_GTIDS:         {           goto end;         }         case NO_GTIDS:         {           /*             If the binlog_gtid_simple_recovery is enabled, and the             first binary log does not contain any GTID event, do not             read any more binary logs, GLOBAL.GTID_PURGED should be             empty in the case.           */           if (binlog_gtid_simple_recovery && !is_relay_log)           {             DBUG_ASSERT(lost_gtids->is_empty());             goto end;           }           /*FALLTHROUGH*/         }         case GOT_PREVIOUS_GTIDS:         case TRUNCATED:         {           break;         }       }     } scan all binlog files from offset start to offset end .I thinks just read the header about gtid_previous is ok.
2017-01-18 18:05:52 Valerii Kravchuk bug added subscriber Valerii Kravchuk
2017-01-19 04:32:03 Laurynas Biveinis description I read the bug report about https://bugs.mysql.com/bug.php?id=69097,But i have a another probleam about init_gtid_sets. (from no-gtid evironment to gtid evironment) when we purge binlogs ,it call function MYSQL_BIN_LOG::purge_logs ,when file remove succes,it call MYSQL_BIN_LOG::init_gtid_sets to update the gtid_purged .   code:   for (it= filename_list.begin(); it != filename_list.end(); it++)     {       const char *filename= it->c_str();       DBUG_PRINT("info", ("filename='%s'", filename));       switch (read_gtids_from_binlog(filename, NULL, lost_gtids,                                      NULL/* first_gtid */, NULL/* last_gtid */,                                      sid_map, verify_checksum))       {         case ERROR:         {           error= 1;           /*FALLTHROUGH*/         }         case GOT_GTIDS:         {           goto end;         }         case NO_GTIDS:         {           /*             If the binlog_gtid_simple_recovery is enabled, and the             first binary log does not contain any GTID event, do not             read any more binary logs, GLOBAL.GTID_PURGED should be             empty in the case.           */           if (binlog_gtid_simple_recovery && !is_relay_log)           {             DBUG_ASSERT(lost_gtids->is_empty());             goto end;           }           /*FALLTHROUGH*/         }         case GOT_PREVIOUS_GTIDS:         case TRUNCATED:         {           break;         }       }     } scan all binlog files from offset start to offset end .I thinks just read the header about gtid_previous is ok. I read the bug report about https://bugs.mysql.com/bug.php?id=69097, But i have a another probleam about init_gtid_sets. (from no-gtid evironment to gtid evironment) when we purge binlogs ,it call function MYSQL_BIN_LOG::purge_logs ,when file remove succes,it call MYSQL_BIN_LOG::init_gtid_sets to update the gtid_purged .   code:   for (it= filename_list.begin(); it != filename_list.end(); it++)     {       const char *filename= it->c_str();       DBUG_PRINT("info", ("filename='%s'", filename));       switch (read_gtids_from_binlog(filename, NULL, lost_gtids,                                      NULL/* first_gtid */, NULL/* last_gtid */,                                      sid_map, verify_checksum))       {         case ERROR:         {           error= 1;           /*FALLTHROUGH*/         }         case GOT_GTIDS:         {           goto end;         }         case NO_GTIDS:         {           /*             If the binlog_gtid_simple_recovery is enabled, and the             first binary log does not contain any GTID event, do not             read any more binary logs, GLOBAL.GTID_PURGED should be             empty in the case.           */           if (binlog_gtid_simple_recovery && !is_relay_log)           {             DBUG_ASSERT(lost_gtids->is_empty());             goto end;           }           /*FALLTHROUGH*/         }         case GOT_PREVIOUS_GTIDS:         case TRUNCATED:         {           break;         }       }     } scan all binlog files from offset start to offset end .I thinks just read the header about gtid_previous is ok.