Commit ea37c129 authored by Monty's avatar Monty

Removed not used lock argument from read_log_event

parent 2e53b96a
...@@ -2736,7 +2736,7 @@ static Exit_status check_header(IO_CACHE* file, ...@@ -2736,7 +2736,7 @@ static Exit_status check_header(IO_CACHE* file,
Format_description_log_event *new_description_event; Format_description_log_event *new_description_event;
my_b_seek(file, tmp_pos); /* seek back to event's start */ my_b_seek(file, tmp_pos); /* seek back to event's start */
if (!(new_description_event= (Format_description_log_event*) if (!(new_description_event= (Format_description_log_event*)
Log_event::read_log_event(file, 0, glob_description_event, Log_event::read_log_event(file, glob_description_event,
opt_verify_binlog_checksum))) opt_verify_binlog_checksum)))
/* EOF can't be hit here normally, so it's a real error */ /* EOF can't be hit here normally, so it's a real error */
{ {
...@@ -2770,7 +2770,7 @@ static Exit_status check_header(IO_CACHE* file, ...@@ -2770,7 +2770,7 @@ static Exit_status check_header(IO_CACHE* file,
{ {
Log_event *ev; Log_event *ev;
my_b_seek(file, tmp_pos); /* seek back to event's start */ my_b_seek(file, tmp_pos); /* seek back to event's start */
if (!(ev= Log_event::read_log_event(file, 0, glob_description_event, if (!(ev= Log_event::read_log_event(file, glob_description_event,
opt_verify_binlog_checksum))) opt_verify_binlog_checksum)))
{ {
/* EOF can't be hit here normally, so it's a real error */ /* EOF can't be hit here normally, so it's a real error */
...@@ -2884,7 +2884,7 @@ static Exit_status dump_local_log_entries(PRINT_EVENT_INFO *print_event_info, ...@@ -2884,7 +2884,7 @@ static Exit_status dump_local_log_entries(PRINT_EVENT_INFO *print_event_info,
char llbuff[21]; char llbuff[21];
my_off_t old_off = my_b_tell(file); my_off_t old_off = my_b_tell(file);
Log_event* ev = Log_event::read_log_event(file, 0, glob_description_event, Log_event* ev = Log_event::read_log_event(file, glob_description_event,
opt_verify_binlog_checksum); opt_verify_binlog_checksum);
if (!ev) if (!ev)
{ {
......
...@@ -9918,7 +9918,7 @@ int TC_LOG_BINLOG::recover(LOG_INFO *linfo, const char *last_log_name, ...@@ -9918,7 +9918,7 @@ int TC_LOG_BINLOG::recover(LOG_INFO *linfo, const char *last_log_name,
for (;;) for (;;)
{ {
while ((ev= Log_event::read_log_event(first_round ? first_log : &log, while ((ev= Log_event::read_log_event(first_round ? first_log : &log,
0, fdle, opt_master_verify_checksum)) fdle, opt_master_verify_checksum))
&& ev->is_valid()) && ev->is_valid())
{ {
enum Log_event_type typ= ev->get_type_code(); enum Log_event_type typ= ev->get_type_code();
...@@ -10159,7 +10159,7 @@ MYSQL_BIN_LOG::do_binlog_recovery(const char *opt_name, bool do_xa_recovery) ...@@ -10159,7 +10159,7 @@ MYSQL_BIN_LOG::do_binlog_recovery(const char *opt_name, bool do_xa_recovery)
return 1; return 1;
} }
if ((ev= Log_event::read_log_event(&log, 0, &fdle, if ((ev= Log_event::read_log_event(&log, &fdle,
opt_master_verify_checksum)) && opt_master_verify_checksum)) &&
ev->get_type_code() == FORMAT_DESCRIPTION_EVENT) ev->get_type_code() == FORMAT_DESCRIPTION_EVENT)
{ {
......
...@@ -1854,7 +1854,7 @@ int Log_event::read_log_event(IO_CACHE* file, String* packet, ...@@ -1854,7 +1854,7 @@ int Log_event::read_log_event(IO_CACHE* file, String* packet,
DBUG_RETURN(0); DBUG_RETURN(0);
} }
Log_event* Log_event::read_log_event(IO_CACHE* file, mysql_mutex_t* log_lock, Log_event* Log_event::read_log_event(IO_CACHE* file,
const Format_description_log_event *fdle, const Format_description_log_event *fdle,
my_bool crc_check) my_bool crc_check)
{ {
...@@ -1864,9 +1864,6 @@ Log_event* Log_event::read_log_event(IO_CACHE* file, mysql_mutex_t* log_lock, ...@@ -1864,9 +1864,6 @@ Log_event* Log_event::read_log_event(IO_CACHE* file, mysql_mutex_t* log_lock,
const char *error= 0; const char *error= 0;
Log_event *res= 0; Log_event *res= 0;
if (log_lock)
mysql_mutex_lock(log_lock);
switch (read_log_event(file, &event, fdle, BINLOG_CHECKSUM_ALG_OFF)) switch (read_log_event(file, &event, fdle, BINLOG_CHECKSUM_ALG_OFF))
{ {
case 0: case 0:
...@@ -1903,8 +1900,6 @@ Log_event* Log_event::read_log_event(IO_CACHE* file, mysql_mutex_t* log_lock, ...@@ -1903,8 +1900,6 @@ Log_event* Log_event::read_log_event(IO_CACHE* file, mysql_mutex_t* log_lock,
res->register_temp_buf(event.release(), true); res->register_temp_buf(event.release(), true);
err: err:
if (log_lock)
mysql_mutex_unlock(log_lock);
if (error) if (error)
{ {
DBUG_ASSERT(!res); DBUG_ASSERT(!res);
...@@ -9735,7 +9730,6 @@ int Execute_load_log_event::do_apply_event(rpl_group_info *rgi) ...@@ -9735,7 +9730,6 @@ int Execute_load_log_event::do_apply_event(rpl_group_info *rgi)
} }
if (!(lev= (Load_log_event*) if (!(lev= (Load_log_event*)
Log_event::read_log_event(&file, Log_event::read_log_event(&file,
(mysql_mutex_t*)0,
rli->relay_log.description_event_for_exec, rli->relay_log.description_event_for_exec,
opt_slave_sql_verify_checksum)) || opt_slave_sql_verify_checksum)) ||
lev->get_type_code() != NEW_LOAD_EVENT) lev->get_type_code() != NEW_LOAD_EVENT)
......
...@@ -1300,7 +1300,6 @@ class Log_event ...@@ -1300,7 +1300,6 @@ class Log_event
constructor and pass description_event as an argument. constructor and pass description_event as an argument.
*/ */
static Log_event* read_log_event(IO_CACHE* file, static Log_event* read_log_event(IO_CACHE* file,
mysql_mutex_t* log_lock,
const Format_description_log_event const Format_description_log_event
*description_event, *description_event,
my_bool crc_check); my_bool crc_check);
......
...@@ -823,7 +823,7 @@ retry_event_group(rpl_group_info *rgi, rpl_parallel_thread *rpt, ...@@ -823,7 +823,7 @@ retry_event_group(rpl_group_info *rgi, rpl_parallel_thread *rpt,
for (;;) for (;;)
{ {
old_offset= cur_offset; old_offset= cur_offset;
ev= Log_event::read_log_event(&rlog, 0, description_event, ev= Log_event::read_log_event(&rlog, description_event,
opt_slave_sql_verify_checksum); opt_slave_sql_verify_checksum);
cur_offset= my_b_tell(&rlog); cur_offset= my_b_tell(&rlog);
......
...@@ -538,7 +538,7 @@ read_relay_log_description_event(IO_CACHE *cur_log, ulonglong start_pos, ...@@ -538,7 +538,7 @@ read_relay_log_description_event(IO_CACHE *cur_log, ulonglong start_pos,
if (my_b_tell(cur_log) >= start_pos) if (my_b_tell(cur_log) >= start_pos)
break; break;
if (!(ev= Log_event::read_log_event(cur_log, 0, fdev, if (!(ev= Log_event::read_log_event(cur_log, fdev,
opt_slave_sql_verify_checksum))) opt_slave_sql_verify_checksum)))
{ {
DBUG_PRINT("info",("could not read event, cur_log->error=%d", DBUG_PRINT("info",("could not read event, cur_log->error=%d",
......
...@@ -7308,7 +7308,7 @@ static Log_event* next_event(rpl_group_info *rgi, ulonglong *event_size) ...@@ -7308,7 +7308,7 @@ static Log_event* next_event(rpl_group_info *rgi, ulonglong *event_size)
MYSQL_BIN_LOG::open() will write the buffered description event. MYSQL_BIN_LOG::open() will write the buffered description event.
*/ */
old_pos= rli->event_relay_log_pos; old_pos= rli->event_relay_log_pos;
if ((ev= Log_event::read_log_event(cur_log,0, if ((ev= Log_event::read_log_event(cur_log,
rli->relay_log.description_event_for_exec, rli->relay_log.description_event_for_exec,
opt_slave_sql_verify_checksum))) opt_slave_sql_verify_checksum)))
......
...@@ -875,6 +875,73 @@ get_binlog_list(MEM_ROOT *memroot) ...@@ -875,6 +875,73 @@ get_binlog_list(MEM_ROOT *memroot)
DBUG_RETURN(current_list); DBUG_RETURN(current_list);
} }
/*
Find the Gtid_list_log_event at the start of a binlog.
NULL for ok, non-NULL error message for error.
If ok, then the event is returned in *out_gtid_list. This can be NULL if we
get back to binlogs written by old server version without GTID support. If
so, it means we have reached the point to start from, as no GTID events can
exist in earlier binlogs.
*/
static const char *
get_gtid_list_event(IO_CACHE *cache, Gtid_list_log_event **out_gtid_list)
{
Format_description_log_event init_fdle(BINLOG_VERSION);
Format_description_log_event *fdle;
Log_event *ev;
const char *errormsg = NULL;
*out_gtid_list= NULL;
if (!(ev= Log_event::read_log_event(cache, &init_fdle,
opt_master_verify_checksum)) ||
ev->get_type_code() != FORMAT_DESCRIPTION_EVENT)
{
if (ev)
delete ev;
return "Could not read format description log event while looking for "
"GTID position in binlog";
}
fdle= static_cast<Format_description_log_event *>(ev);
for (;;)
{
Log_event_type typ;
ev= Log_event::read_log_event(cache, fdle, opt_master_verify_checksum);
if (!ev)
{
errormsg= "Could not read GTID list event while looking for GTID "
"position in binlog";
break;
}
typ= ev->get_type_code();
if (typ == GTID_LIST_EVENT)
break; /* Done, found it */
if (typ == START_ENCRYPTION_EVENT)
{
if (fdle->start_decryption((Start_encryption_log_event*) ev))
errormsg= "Could not set up decryption for binlog.";
}
delete ev;
if (typ == ROTATE_EVENT || typ == STOP_EVENT ||
typ == FORMAT_DESCRIPTION_EVENT || typ == START_ENCRYPTION_EVENT)
continue; /* Continue looking */
/* We did not find any Gtid_list_log_event, must be old binlog. */
ev= NULL;
break;
}
delete fdle;
*out_gtid_list= static_cast<Gtid_list_log_event *>(ev);
return errormsg;
}
/* /*
Check if every GTID requested by the slave is contained in this (or a later) Check if every GTID requested by the slave is contained in this (or a later)
...@@ -3930,7 +3997,7 @@ bool mysql_show_binlog_events(THD* thd) ...@@ -3930,7 +3997,7 @@ bool mysql_show_binlog_events(THD* thd)
my_off_t scan_pos = BIN_LOG_HEADER_SIZE; my_off_t scan_pos = BIN_LOG_HEADER_SIZE;
while (scan_pos < pos) while (scan_pos < pos)
{ {
ev= Log_event::read_log_event(&log, (mysql_mutex_t*)0, description_event, ev= Log_event::read_log_event(&log, description_event,
opt_master_verify_checksum); opt_master_verify_checksum);
scan_pos = my_b_tell(&log); scan_pos = my_b_tell(&log);
if (ev == NULL || !ev->is_valid()) if (ev == NULL || !ev->is_valid())
...@@ -3964,7 +4031,7 @@ bool mysql_show_binlog_events(THD* thd) ...@@ -3964,7 +4031,7 @@ bool mysql_show_binlog_events(THD* thd)
my_b_seek(&log, pos); my_b_seek(&log, pos);
for (event_count = 0; for (event_count = 0;
(ev = Log_event::read_log_event(&log, (mysql_mutex_t*) 0, (ev = Log_event::read_log_event(&log,
description_event, description_event,
opt_master_verify_checksum)); ) opt_master_verify_checksum)); )
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment