[Commits] fa0628a: MDEV-6456: Add progress indication for "Reading tablespace information from the .ibd files"

Sergei Petrunia psergey at askmonty.org
Tue Jul 22 18:50:48 EEST 2014


revision-id: fa0628a6aca07af8e74be539e55940d891914041
parent(s): dbc79ce0557ad5b7e3f51d7ffb0ffd1bec5b21bf
committer: Sergei Petrunia
branch nick: 10.1
timestamp: 2014-07-22 19:50:47 +0400
message:

MDEV-6456: Add progress indication for "Reading tablespace information from the .ibd files"

# of processed files is printed every 15 sec.

-----------------------

 storage/xtradb/fil/fil0fil.cc |   18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/storage/xtradb/fil/fil0fil.cc b/storage/xtradb/fil/fil0fil.cc
index ba2dd0a..bc2732f 100644
--- a/storage/xtradb/fil/fil0fil.cc
+++ b/storage/xtradb/fil/fil0fil.cc
@@ -4677,6 +4677,7 @@ fil_file_readdir_next_file(
 	return(-1);
 }
 
+#define CHECK_TIME_EVERY_N_FILES   10
 /********************************************************************//**
 At the server startup, if we need crash recovery, scans the database
 directories under the MySQL datadir, looking for .ibd files. Those files are
@@ -4693,6 +4694,9 @@ fil_load_single_table_tablespaces(void)
 	int		ret;
 	char*		dbpath		= NULL;
 	ulint		dbpath_len	= 100;
+        ulint 		files_read	= 0;
+        ulint 		files_read_at_last_check	= 0;
+        ib_time_t 	prev_report_time = ut_time();
 	os_file_dir_t	dir;
 	os_file_dir_t	dbdir;
 	os_file_stat_t	dbinfo;
@@ -4771,6 +4775,20 @@ fil_load_single_table_tablespaces(void)
 					try opening the file */
 					fil_load_single_table_tablespace(
 						dbinfo.name, fileinfo.name);
+					files_read++;
+					if (files_read - files_read_at_last_check >
+					    CHECK_TIME_EVERY_N_FILES) {
+						ib_time_t cur_time= ut_time();
+						files_read_at_last_check= files_read;
+						double time_elapsed= ut_difftime(cur_time, 
+						                                 prev_report_time);
+						if (time_elapsed > 15) {
+							ib_logf(IB_LOG_LEVEL_INFO, 
+								"Processed %ld .ibd/.isl files",
+								files_read);
+							prev_report_time= cur_time;
+						}
+                                        }
 				}
 next_file_item:
 				ret = fil_file_readdir_next_file(&err,


More information about the commits mailing list