lp:~sergei.glushchenko/mysql-server/expand_fast_index_creation

Created by Sergei Glushchenko on 2012-06-26 and last modified on 2012-06-29
Get this branch:
bzr branch lp:~sergei.glushchenko/mysql-server/expand_fast_index_creation
Only Sergei Glushchenko can upload to this branch. If you are Sergei Glushchenko please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Sergei Glushchenko
Project:
MySQL Server
Status:
Development

Recent revisions

3733. By Sergei Glushchenko on 2012-06-29

port expand_fast_index_creation patch

3732. By Sunanda Menon on 2012-05-08

Merge from mysql-5.1.63-release

3731. By Venkata Sidagam <email address hidden> on 2012-05-07

Bug #11754178 45740: MYSQLDUMP DOESN'T DUMP GENERAL_LOG AND SLOW_QUERY
                     CAUSES RESTORE PROBLEM
Problem Statement:
------------------
mysqldump is not having the dump stmts for general_log and slow_log
tables. That is because of the fix for Bug#26121. Hence, after
dropping the mysql database, and applying the dump by enabling the
logging, "'general_log' table not found" errors are logged into the
server log file.

Analysis:
---------
As part of the fix for Bug#26121, we skipped the dumping of tables
for general_log and slow_log, because the data dump of those tables
are taking LOCKS, which is not allowed for log tables.

Fix:
----
We came up with an approach that instead of taking both meta data
and data dump information for those tables, take only the meta data
dump which doesn't need LOCKS.
As part of fixing the issue we came up with below algorithm.
Design before fix:
1) mysql database is having tables like db, event,... general_log,
   ... slow_log...
2) Skip general_log and slow_log while preparing the tables list
3) Take the TL_READ lock on tables which are present in the table
   list and do 'show create table'.
4) Release the lock.

Design with the fix:
1) mysql database is having tables like db, event,... general_log,
   ... slow_log...
2) Skip general_log and slow_log while preparing the tables list
3) Explicitly call the 'show create table' for general_log and
   slow_log
3) Take the TL_READ lock on tables which are present in the table
   list and do 'show create table'.
4) Release the lock.

While taking the meta data dump for general_log and slow_log the
"CREATE TABLE" is replaced with "CREATE TABLE IF NOT EXISTS".
This is because we skipped "DROP TABLE" for those tables,
"DROP TABLE" fails for these tables if logging is enabled.
Customer is applying the dump by enabling logging so, if the dump
has "DROP TABLE" it will fail. Hence, removed the "DROP TABLE"
stmts for those tables.

After the fix we could observe "Table 'mysql.general_log'
doesn't exist" errors initially that is because in the customer
scenario they are dropping the mysql database by enabling the
logging, Hence, those errors are expected. Once we apply the
dump which is taken before the "drop database mysql", the errors
will not be there.

3730. By Yasufumi Kinoshita <email address hidden> on 2012-04-27

Bug#11758510 (#50723): INNODB CHECK TABLE FATAL SEMAPHORE WAIT TIMEOUT POSSIBLY TOO SHORT FOR BI
Fixed not to check timeout during the check table.

3729. By irana <email address hidden> on 2012-04-26

InnoDB: Adjust error message when a dropped tablespace is accessed.

3728. By Andrei Elkin <email address hidden> on 2012-04-23

merge from 5.1 repo

3727. By Andrei Elkin <email address hidden> on 2012-04-23

BUG#11754117

rpl_auto_increment_bug45679.test is refined due to not fixed in 5.1 Bug11749859-39934.

3726. By Andrei Elkin <email address hidden> on 2012-04-20

BUG#11754117 incorrect logging of INSERT into auto-increment
BUG#11761686 insert_id event is not filtered.

Two issues are covered.

INSERT into autoincrement field which is not the first part in the composed primary key
is unsafe by autoincrement logging design. The case is specific to MyISAM engine
because Innodb does not allow such table definition.

However no warnings and row-format logging in the MIXED mode was done, and
that is fixed.

Int-, Rand-, User-var log-events were not filtered along with their parent
query that made possible them to screw up execution context of the following
query.

Fixed with deferring their execution until the parent query.

******
Bug#11754117

Post review fixes.

3725. By Mayank Prasad on 2012-04-19

BUG#12427262 : 60961: SHOW TABLES VERY SLOW WHEN NOT IN SYSTEM DISK CACHE

Reason:
 This is a regression happened because of changes done in code refactoring
 in 5.1 from 5.0.

Issue:
 While doing "Show tables" lex->verbose was being checked to avoid opening
 FRM files to get table type. In case of "Show full table", lex->verbose
 is true to indicate table type is required. In 5.0, this check was
 present which got missing in >=5.5.

Fix:
 Added the required check to avoid opening FRM files unnecessarily in case
 of "Show tables".

3724. By Tor Didriksen <email address hidden> on 2012-04-18

new header file must be listed in Makefile.am

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:~dannythefool/+junk/trunk-outdated
This branch contains Public information 
Everyone can see this information.