List:Commits« Previous MessageNext Message »
From:Hemant Kumar Date:June 29 2012 7:00am
Subject:bzr push into mysql-5.6 branch (hemant.hk.kumar:3927 to 3928)
View as plain text  
 3928 Hemant Kumar	2012-06-29
      Removing the entry for partition_locking_4 test from disabled.def file.

    modified:
      mysql-test/t/disabled.def
 3927 kevin.lewis@stripped	2012-06-29
      Bug #14213568
      ASSERTION FAILURE IN RENAME TABLE AFTER DISCARD TABLESPACE
      
      The design and intent of WL5522 and Online Index Rebuild is that a
      tablespace can be renamed and the dictionary restructured while it
      is discarded. The assertion found in this bug happened during Online
      Index Rebuild of a clustered index.  In order to support this, the
      attempt to update SYS_DATAFILES is skipped during the rename file
      portion of row_merge_rename_tables() which is part of ha_innobase::
      commit_inplace_alter_table().
      
      The RENAME TABLE command already worked while the tablespace is
      discarded.  Everything in the dictionary is renamed, but
      fil_rename_tablespace() is not called in dict_table_rename_in_cache()
      when the tablespace is discarded.
      
      Since a table can be renamed while discarded, it became obvious that
      whenever a remote tablespace is discarded, the associated link file
      should also be deleted. Previously, in the WL5980 patch, the link
      file was left behind when a tablespace was discarded. But since the
      discarded tablespace can be renamed it really makes no sense to leave
      a link file pointing to a tablespace file that does not exist.
      
      There was another assert during TRUNCATE so I had to add a protection
      in row_truncate_table_for_mysql() so that it does not attempt to
      truncate a tablespace that is discarded or missing.
      
      When adding a test script for this into innodb-wl5980-discard,
      I tried many different statements against local and remmote tablespaces
      that are both discarded and just plain missing.
      
      Tablespace configurations
      =========================
      Local, Discarded
      Remote, Discarded
      Local, Missing
      Remote, Missing
      
      SQL Statements tried
      ====================
      SELECT
      SHOW CREATE TABLE
      INSERT
      RENAME TABLE
      TRUNCATE TABLE
      ALTER TABLE ADD PRIMARY KEY, ALGORITHM=COPY
      ALTER TABLE ADD PRIMARY KEY, ALGORITHM=INPLACE
      ALTER TABLE KEY ROW_FORMAT=REDUNDANT, ALGORITHM=COPY
      ALTER TABLE KEY ROW_FORMAT=REDUNDANT, ALGORITHM=INPLACE
      ALTER TABLE KEY ROW_FORMAT=REDUNDANT, ALGORITHM=COPY
      ALTER TABLE KEY ROW_FORMAT=REDUNDANT, ALGORITHM=INPLACE
      
      The result file show that none of the statements above work on
      a tablespace that is missing.  But the follwong SQL work on a
      discarded tablespace;
      
      SHOW CREATE TABLE
      RENAME TABLE
      ALTER TABLE ADD PRIMARY KEY, ALGORITHM=INPLACE
      ALTER TABLE KEY ROW_FORMAT=REDUNDANT, ALGORITHM=INPLACE
      ALTER TABLE KEY ROW_FORMAT=REDUNDANT, ALGORITHM=INPLACE
      
      In fact, the inplace alter statements will create a new empty
      tablespace which is no longer marked as discarded.
      
      Approved by Sunny in rb:1120

    modified:
      mysql-test/suite/innodb/r/innodb-multiple-tablespaces.result
      mysql-test/suite/innodb/r/innodb-wl5980-discard.result
      mysql-test/suite/innodb/t/innodb-multiple-tablespaces.test
      mysql-test/suite/innodb/t/innodb-wl5980-discard.test
      storage/innobase/dict/dict0load.cc
      storage/innobase/fil/fil0fil.cc
      storage/innobase/handler/ha_innodb.cc
      storage/innobase/row/row0merge.cc
      storage/innobase/row/row0mysql.cc
=== modified file 'mysql-test/t/disabled.def'
--- a/mysql-test/t/disabled.def	2012-06-15 21:11:49 +0000
+++ b/mysql-test/t/disabled.def	2012-06-29 06:56:30 +0000
@@ -15,5 +15,4 @@ sum_distinct-big         : Bug#11764126
 archive-big              : Bug#11817185 2011-03-10 Anitha Disabled since this leads to timeout on Solaris Sparc
 log_tables-big           : Bug#11756699 2010-11-15 mattiasj report already exists
 ds_mrr-big @solaris      : Bug#14168107 2012-04-03 Hemant disabled new test added by Olav Sandstå,since this leads to timeout on Solaris on slow sparc servers
-partition_locking_4	 : Bug#13924750 2012-04-04 lost connection.
 mysql_embedded_client_test	: Bug#13964673 2012-04-16 amitbha since most of the test cases are failing

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-5.6 branch (hemant.hk.kumar:3927 to 3928) Hemant Kumar29 Jun