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. |
|