Skip to content

Commit bac287c

Browse files
committed
Bug#27788907 SOME FILE OPERATIONS IN MF_IOCACHE2.C ARE NOT INSTRUMENTED
MySQL bug number 90264 Contribution by Yura Sorokin. Problem: File mysys/mf_iocache2.c contains non instrumented file io operations. This causes inaccurate statistics in PERFORMANCE_SCHEMA. Solution: Use the instrumentation apis (mysql_file_tell instead of my_tell, etc).
1 parent a653fca commit bac287c

File tree

2 files changed

+14
-14
lines changed

2 files changed

+14
-14
lines changed

mysql-test/suite/perfschema/r/relaylog.result

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ from performance_schema.file_summary_by_instance
2020
where file_name like "%master-%" order by file_name;
2121
FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
2222
master-bin.000001 wait/io/file/sql/binlog MANY MANY MANY MANY
23-
master-bin.index wait/io/file/sql/binlog_index NONE MANY NONE MANY
23+
master-bin.index wait/io/file/sql/binlog_index MANY MANY MANY MANY
2424
select * from performance_schema.file_summary_by_instance
2525
where file_name like "%slave-%" order by file_name;
2626
FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
@@ -36,7 +36,7 @@ from performance_schema.file_summary_by_instance
3636
where event_name like "%binlog%" order by file_name;
3737
FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
3838
master-bin.000001 wait/io/file/sql/binlog MANY MANY MANY MANY
39-
master-bin.index wait/io/file/sql/binlog_index NONE MANY NONE MANY
39+
master-bin.index wait/io/file/sql/binlog_index MANY MANY MANY MANY
4040
select
4141
EVENT_NAME,
4242
if (count_read > 0, "MANY", "NONE") as COUNT_READ,
@@ -47,7 +47,7 @@ from performance_schema.file_summary_by_event_name
4747
where event_name like "%binlog%" order by event_name;
4848
EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
4949
wait/io/file/sql/binlog MANY MANY MANY MANY
50-
wait/io/file/sql/binlog_index NONE MANY NONE MANY
50+
wait/io/file/sql/binlog_index MANY MANY MANY MANY
5151
select
5252
EVENT_NAME,
5353
if (count_star > 0, "MANY", "NONE") as COUNT_STAR
@@ -93,7 +93,7 @@ where file_name like "%slave-%"
9393
order by file_name;
9494
FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
9595
slave-bin.000001 wait/io/file/sql/binlog MANY MANY MANY MANY
96-
slave-bin.index wait/io/file/sql/binlog_index NONE MANY NONE MANY
96+
slave-bin.index wait/io/file/sql/binlog_index MANY MANY MANY MANY
9797
slave-relay-bin.000001 wait/io/file/sql/relaylog MANY MANY MANY MANY
9898
slave-relay-bin.000002 wait/io/file/sql/relaylog MANY MANY MANY MANY
9999
slave-relay-bin.index wait/io/file/sql/relaylog_index MANY MANY MANY MANY
@@ -109,7 +109,7 @@ from performance_schema.file_summary_by_instance
109109
where event_name like "%binlog%" order by file_name;
110110
FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
111111
slave-bin.000001 wait/io/file/sql/binlog MANY MANY MANY MANY
112-
slave-bin.index wait/io/file/sql/binlog_index NONE MANY NONE MANY
112+
slave-bin.index wait/io/file/sql/binlog_index MANY MANY MANY MANY
113113
select
114114
EVENT_NAME,
115115
if (count_read > 0, "MANY", "NONE") as COUNT_READ,
@@ -120,7 +120,7 @@ from performance_schema.file_summary_by_event_name
120120
where event_name like "%binlog%" order by event_name;
121121
EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
122122
wait/io/file/sql/binlog MANY MANY MANY MANY
123-
wait/io/file/sql/binlog_index NONE MANY NONE MANY
123+
wait/io/file/sql/binlog_index MANY MANY MANY MANY
124124
select
125125
EVENT_NAME,
126126
if (count_star > 0, "MANY", "NONE") as COUNT_STAR

mysys/mf_iocache2.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
1+
/* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
22
33
This program is free software; you can redistribute it and/or modify
44
it under the terms of the GNU General Public License as published by
@@ -102,14 +102,14 @@ my_off_t my_b_append_tell(IO_CACHE* info)
102102
*/
103103
{
104104
volatile my_off_t save_pos;
105-
save_pos = my_tell(info->file,MYF(0));
106-
my_seek(info->file,(my_off_t)0,MY_SEEK_END,MYF(0));
105+
save_pos = mysql_file_tell(info->file,MYF(0));
106+
mysql_file_seek(info->file,(my_off_t)0,MY_SEEK_END,MYF(0));
107107
/*
108108
Save the value of my_tell in res so we can see it when studying coredump
109109
*/
110110
DBUG_ASSERT(info->end_of_file - (info->append_read_pos-info->write_buffer)
111-
== (res=my_tell(info->file,MYF(0))));
112-
my_seek(info->file,save_pos,MY_SEEK_SET,MYF(0));
111+
== (res=mysql_file_tell(info->file,MYF(0))));
112+
mysql_file_seek(info->file,save_pos,MY_SEEK_SET,MYF(0));
113113
}
114114
#endif
115115
res = info->end_of_file + (info->write_pos-info->append_read_pos);
@@ -203,7 +203,7 @@ size_t my_b_fill(IO_CACHE *info)
203203

204204
if (info->seek_not_done)
205205
{ /* File touched, do seek */
206-
if (my_seek(info->file,pos_in_file,MY_SEEK_SET,MYF(0)) ==
206+
if (mysql_file_seek(info->file,pos_in_file,MY_SEEK_SET,MYF(0)) ==
207207
MY_FILEPOS_ERROR)
208208
{
209209
info->error= 0;
@@ -223,7 +223,7 @@ size_t my_b_fill(IO_CACHE *info)
223223
}
224224
DBUG_EXECUTE_IF ("simulate_my_b_fill_error",
225225
{DBUG_SET("+d,simulate_file_read_error");});
226-
if ((length= my_read(info->file,info->buffer,max_length,
226+
if ((length= mysql_file_read(info->file,info->buffer,max_length,
227227
info->myflags)) == (size_t) -1)
228228
{
229229
info->error= -1;
@@ -287,7 +287,7 @@ my_off_t my_b_filelength(IO_CACHE *info)
287287
return my_b_tell(info);
288288

289289
info->seek_not_done= 1;
290-
return my_seek(info->file, 0L, MY_SEEK_END, MYF(0));
290+
return mysql_file_seek(info->file, 0L, MY_SEEK_END, MYF(0));
291291
}
292292

293293

0 commit comments

Comments
 (0)