diff options
author | Jan Lindström <jan.lindstrom@mariadb.com> | 2016-09-22 16:32:26 +0300 |
---|---|---|
committer | Jan Lindström <jan.lindstrom@mariadb.com> | 2016-09-22 16:38:24 +0300 |
commit | 2bedc3978b90bf5abe1029df393c63ced1849bed (patch) | |
tree | 1afa5fe2f562ae577566cf7a67e90fb110682c99 /storage/xtradb/include/srv0srv.h | |
parent | e387bfafbbb01ccfabeb2beb86efb199ca2ca3ac (diff) | |
download | mariadb-git-2bedc3978b90bf5abe1029df393c63ced1849bed.tar.gz |
MDEV-9931: InnoDB reads first page of every .ibd file at startup
Analysis: By design InnoDB was reading first page of every .ibd file
at startup to find out is tablespace encrypted or not. This is
because tablespace could have been encrypted always, not
encrypted newer or encrypted based on configuration and this
information can be find realible only from first page of .ibd file.
Fix: Do not read first page of every .ibd file at startup. Instead
whenever tablespace is first time accedded we will read the first
page to find necessary information about tablespace encryption
status.
TODO: Add support for SYS_TABLEOPTIONS where all table options
encryption information included will be stored.
Diffstat (limited to 'storage/xtradb/include/srv0srv.h')
-rw-r--r-- | storage/xtradb/include/srv0srv.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/storage/xtradb/include/srv0srv.h b/storage/xtradb/include/srv0srv.h index bd7a8731bdf..d95adf00814 100644 --- a/storage/xtradb/include/srv0srv.h +++ b/storage/xtradb/include/srv0srv.h @@ -186,6 +186,9 @@ struct srv_stats_t { /** Number of lock waits that have been up to max time (i.e.) lock wait timeout */ ulint_ctr_1_t n_lock_max_wait_time; + + /** Number of times page 0 is read from tablespace */ + ulint_ctr_64_t page0_read; }; extern const char* srv_main_thread_op_info; @@ -1161,7 +1164,8 @@ struct export_var_t{ ulint innodb_os_log_pending_fsyncs; /*!< fil_n_pending_log_flushes */ ulint innodb_page_size; /*!< UNIV_PAGE_SIZE */ ulint innodb_pages_created; /*!< buf_pool->stat.n_pages_created */ - ulint innodb_pages_read; /*!< buf_pool->stat.n_pages_read */ + ulint innodb_pages_read; /*!< buf_pool->stat.n_pages_read*/ + ulint innodb_page0_read; /*!< srv_stats.page0_read */ ulint innodb_pages_written; /*!< buf_pool->stat.n_pages_written */ ib_int64_t innodb_purge_trx_id; ib_int64_t innodb_purge_undo_no; |