• unknown's avatar
    Applied InnoDB snapshot innodb-5.1-ss2298 · 3858e96a
    unknown authored
    Fixes the following bugs:
    
    - Bug #33349: possible race condition revolving around data dictionary and repartitioning
      Introduce retry/sleep logic as a workaround for a transient bug
      where ::open fails for partitioned tables randomly if we are using
      one file per table.
    
    - Bug #34053: normal users can enable innodb_monitor logging
      In CREATE TABLE and DROP TABLE check whether the table in question is one
      of the magic innodb_monitor tables and whether the user has enough rights
      to mess with it before doing anything else.
    
    - Bug #22868: 'Thread thrashing' with > 50 concurrent conns under an upd-intensive workloadw
    - Bug #29560: InnoDB >= 5.0.30 hangs on adaptive hash rw-lock 'waiting for an X-lock'
      This is a combination of changes that forward port the scalability fix applied to 5.0
      through r1001.
      It reverts changes r149 and r122 (these were 5.1 specific changes made in lieu of
      scalability fix of 5.0)
      Then it applies r1001 to 5.0 which is the original scalability fix.
      Finally it applies r2082 which fixes an issue with the original fix.
    
    - Bug #30930: Add auxiliary function to retrieve THD::thread_id
      Add thd_get_thread_id() function.  Also make check_global_access() function
      visible to InnoDB under INNODB_COMPATIBILITY_HOOKS #define.
    
    
    include/mysql/plugin.h:
      Add thd_get_thread_id() accessor function
    mysql-test/r/innodb.result:
      Applied InnoDB snapshot innodb-5.1-ss2298
      
      Revision r2261:
      branches/5.1: Merge a change from MySQL AB:
      
      ChangeSet@2007-10-13 15:49:42+03:00, aelkin@koti.dsl.inet.fi
      
      Bug #29136 erred multi-delete on trans table does not rollback the statement
      
      innodb.test, innodb.result: trans table specific test added
    mysql-test/t/innodb.test:
      Applied InnoDB snapshot innodb-5.1-ss2298
    sql/mysql_priv.h:
      Make check_global_access() declaration available if when
      INNODB_COMPATIBILITY_HOOKS is defined.
    sql/sql_class.cc:
      Add thd_get_thread_id() accessor function.
      
      Add 'extern "C"' to definition for thd_get_xid().  Not strictly
      needed, but in keeping with our coding style.
    storage/innobase/btr/btr0cur.c:
      Applied InnoDB snapshot innodb-5.1-ss2298
      
      Revision r2295:
      branches/5.1:
      
      Merge r2294 from branches/5.0:
      
      Fix typo and add comma in comment.
    storage/innobase/handler/ha_innodb.cc:
      Applied InnoDB snapshot innodb-5.1-ss2298
      
      - But remove the declaration of check_global_access() from ha_innodb.cc,
        because it is now visible in mysql_priv.h under INNODB_COMPATIBILITY_HOOKS
      
      Revision r2270:
      branches/5.1:
      
      Rename the user visible parameter innodb-use-adaptive-hash-indexes to
      innodb-adaptive-hash-index so that it is in sync with MySQL 5.0.
      
      Suggested by:	Heikki
      Approved by:	Heikki
      
      
      Revision r2236:
      branches/5.1: bug#33349
      
      Introduce retry/sleep logic as a workaround for a transient bug
      where ::open fails for partitioned tables randomly if we are using
      one file per table.
      
      
      Reviewed by: Heikki
      
      
      Revision r2282:
      branches/5.1:
      
      Fix Bug#34053:
      * In CREATE TABLE and DROP TABLE check whether the table in question is one
        of the magic innodb_monitor tables and whether the user has enough rights
        to mess with it before doing anything else.
      * Implement a mysql-test testcase.
      
      Approved by:	Heikki
      
      
      Revision r2246:
      branches/5.1:
      
      Fix formatting of the autoinc-lock-mode command line parameter.
      
      Old view (./mysqld --help --verbose):
      
        --innodb-autoinc-lock-mode=#
                            The AUTOINC lock modes supported by InnoDB:
        0 => Old
                            style AUTOINC locking (for backward compatibility)
        1 =>
                            New style AUTOINC locking
        2 => No AUTOINC locking
                            (unsafe for SBR)
      
      New view:
      
        --innodb-autoinc-lock-mode=#
                            The AUTOINC lock modes supported by InnoDB:
                            0 => Old style AUTOINC locking (for backward
                            compatibility)
                            1 => New style AUTOINC locking
                            2 => No AUTOINC locking (unsafe for SBR)
      
      Looks like these strings are "automatically" wrapped by MySQL in the
      following way:
      * newlines (\n) in the string are ignored
      * newline separator (\n) is inserted every 57 or so characters.
      * lots of white space is appended to each inserted new line.
      
      Approved by:	Heikki
    storage/innobase/include/os0sync.h:
      Applied InnoDB snapshot innodb-5.1-ss2298
      
      Revision r2268:
      branches/5.1: Port of r2267
      
      This is a combination of changes that forward port the scalability fix applied to 5.0
      through r1001.
      It reverts changes r149 and r122 (these were 5.1 specific changes made in lieu of
      scalability fix of 5.0)
      Then it applies r1001 to 5.0 which is the original scalability fix.
      Finally it applies r2082 which fixes an issue with the original fix.
      
      Reviewed by: Heikki
    storage/innobase/include/read0read.h:
      Applied InnoDB snapshot innodb-5.1-ss2298
      
      Revision r2188:
      branches/5.1: Remove unused field can_be_too_old from read_view_struct.
    storage/innobase/include/row0mysql.h:
      Applied InnoDB snapshot innodb-5.1-ss2298
      
      Revision r2282:
      branches/5.1:
      
      Fix Bug#34053:
      * In CREATE TABLE and DROP TABLE check whether the table in question is one
        of the magic innodb_monitor tables and whether the user has enough rights
        to mess with it before doing anything else.
      * Implement a mysql-test testcase.
      
      Approved by:	Heikki
      
      
      Revision r2272:
      branches/5.1:
      
      Fix typo in comment.
    storage/innobase/include/sync0arr.h:
      Applied InnoDB snapshot innodb-5.1-ss2298
      
      Revision r2268:
      branches/5.1: Port of r2267
      
      This is a combination of changes that forward port the scalability fix applied to 5.0
      through r1001.
      It reverts changes r149 and r122 (these were 5.1 specific changes made in lieu of
      scalability fix of 5.0)
      Then it applies r1001 to 5.0 which is the original scalability fix.
      Finally it applies r2082 which fixes an issue with the original fix.
      
      Reviewed by: Heikki
    storage/innobase/include/sync0rw.h:
      Applied InnoDB snapshot innodb-5.1-ss2298
      
      Revision r2268:
      branches/5.1: Port of r2267
      
      This is a combination of changes that forward port the scalability fix applied to 5.0
      through r1001.
      It reverts changes r149 and r122 (these were 5.1 specific changes made in lieu of
      scalability fix of 5.0)
      Then it applies r1001 to 5.0 which is the original scalability fix.
      Finally it applies r2082 which fixes an issue with the original fix.
      
      Reviewed by: Heikki
    storage/innobase/include/sync0rw.ic:
      Applied InnoDB snapshot innodb-5.1-ss2298
      
      Revision r2268:
      branches/5.1: Port of r2267
      
      This is a combination of changes that forward port the scalability fix applied to 5.0
      through r1001.
      It reverts changes r149 and r122 (these were 5.1 specific changes made in lieu of
      scalability fix of 5.0)
      Then it applies r1001 to 5.0 which is the original scalability fix.
      Finally it applies r2082 which fixes an issue with the original fix.
      
      Reviewed by: Heikki
    storage/innobase/include/sync0sync.h:
      Applied InnoDB snapshot innodb-5.1-ss2298
      
      Revision r2268:
      branches/5.1: Port of r2267
      
      This is a combination of changes that forward port the scalability fix applied to 5.0
      through r1001.
      It reverts changes r149 and r122 (these were 5.1 specific changes made in lieu of
      scalability fix of 5.0)
      Then it applies r1001 to 5.0 which is the original scalability fix.
      Finally it applies r2082 which fixes an issue with the original fix.
      
      Reviewed by: Heikki
    storage/innobase/include/sync0sync.ic:
      Applied InnoDB snapshot innodb-5.1-ss2298
      
      Revision r2268:
      branches/5.1: Port of r2267
      
      This is a combination of changes that forward port the scalability fix applied to 5.0
      through r1001.
      It reverts changes r149 and r122 (these were 5.1 specific changes made in lieu of
      scalability fix of 5.0)
      Then it applies r1001 to 5.0 which is the original scalability fix.
      Finally it applies r2082 which fixes an issue with the original fix.
      
      Reviewed by: Heikki
    storage/innobase/os/os0sync.c:
      Applied InnoDB snapshot innodb-5.1-ss2298
      
      Revision r2268:
      branches/5.1: Port of r2267
      
      This is a combination of changes that forward port the scalability fix applied to 5.0
      through r1001.
      It reverts changes r149 and r122 (these were 5.1 specific changes made in lieu of
      scalability fix of 5.0)
      Then it applies r1001 to 5.0 which is the original scalability fix.
      Finally it applies r2082 which fixes an issue with the original fix.
      
      Reviewed by: Heikki
    storage/innobase/read/read0read.c:
      Applied InnoDB snapshot innodb-5.1-ss2298
      
      Revision r2188:
      branches/5.1: Remove unused field can_be_too_old from read_view_struct.
    storage/innobase/row/row0mysql.c:
      Applied InnoDB snapshot innodb-5.1-ss2298
      
      Revision r2282:
      branches/5.1:
      
      Fix Bug#34053:
      * In CREATE TABLE and DROP TABLE check whether the table in question is one
        of the magic innodb_monitor tables and whether the user has enough rights
        to mess with it before doing anything else.
      * Implement a mysql-test testcase.
      
      Approved by:	Heikki
      
      
      Revision r2272:
      branches/5.1:
      
      Fix typo in comment.
    storage/innobase/srv/srv0srv.c:
      Applied InnoDB snapshot innodb-5.1-ss2298
      
      Revision r2268:
      branches/5.1: Port of r2267
      
      This is a combination of changes that forward port the scalability fix applied to 5.0
      through r1001.
      It reverts changes r149 and r122 (these were 5.1 specific changes made in lieu of
      scalability fix of 5.0)
      Then it applies r1001 to 5.0 which is the original scalability fix.
      Finally it applies r2082 which fixes an issue with the original fix.
      
      Reviewed by: Heikki
    storage/innobase/sync/sync0arr.c:
      Applied InnoDB snapshot innodb-5.1-ss2298
      
      Revision r2268:
      branches/5.1: Port of r2267
      
      This is a combination of changes that forward port the scalability fix applied to 5.0
      through r1001.
      It reverts changes r149 and r122 (these were 5.1 specific changes made in lieu of
      scalability fix of 5.0)
      Then it applies r1001 to 5.0 which is the original scalability fix.
      Finally it applies r2082 which fixes an issue with the original fix.
      
      Reviewed by: Heikki
    storage/innobase/sync/sync0rw.c:
      Applied InnoDB snapshot innodb-5.1-ss2298
      
      Revision r2268:
      branches/5.1: Port of r2267
      
      This is a combination of changes that forward port the scalability fix applied to 5.0
      through r1001.
      It reverts changes r149 and r122 (these were 5.1 specific changes made in lieu of
      scalability fix of 5.0)
      Then it applies r1001 to 5.0 which is the original scalability fix.
      Finally it applies r2082 which fixes an issue with the original fix.
      
      Reviewed by: Heikki
    storage/innobase/sync/sync0sync.c:
      Applied InnoDB snapshot innodb-5.1-ss2298
      
      Revision r2268:
      branches/5.1: Port of r2267
      
      This is a combination of changes that forward port the scalability fix applied to 5.0
      through r1001.
      It reverts changes r149 and r122 (these were 5.1 specific changes made in lieu of
      scalability fix of 5.0)
      Then it applies r1001 to 5.0 which is the original scalability fix.
      Finally it applies r2082 which fixes an issue with the original fix.
      
      Reviewed by: Heikki
    mysql-test/r/innodb_bug34053.result:
      Applied InnoDB snapshot innodb-5.1-ss2298
      
      Revision r2282:
      branches/5.1:
      
      Fix Bug#34053:
      * In CREATE TABLE and DROP TABLE check whether the table in question is one
        of the magic innodb_monitor tables and whether the user has enough rights
        to mess with it before doing anything else.
      * Implement a mysql-test testcase.
      
      Approved by:	Heikki
    mysql-test/t/innodb_bug34053.test:
      Applied InnoDB snapshot innodb-5.1-ss2298
      
      Revision r2282:
      branches/5.1:
      
      Fix Bug#34053:
      * In CREATE TABLE and DROP TABLE check whether the table in question is one
        of the magic innodb_monitor tables and whether the user has enough rights
        to mess with it before doing anything else.
      * Implement a mysql-test testcase.
      
      Approved by:	Heikki
    3858e96a
innodb.test 71.2 KB