• Satya B's avatar
    Applying InnoDB snashot 5.1-ss4699, part 1. Fixes BUG#39320 and other · 58c33f55
    Satya B authored
    problems
    
    1) BUG#39320 - innodb crash in file btr/btr0pcur.c line 217 with 
                   innodb_locks_unsafe_for_binlog
    
    2) Fixes bug in multi-table semi consistent reads.
    
    3) Fixes email address from dev@innodb.com to innodb_dev_ww@oracle.com
    
    4) Fixes warning message generated by main.innodb test
    
    
    Detailed revision comments:
    
    r4399 | marko | 2009-03-12 09:38:05 +0200 (Thu, 12 Mar 2009) | 5 lines
    branches/5.1: row_sel_get_clust_rec_for_mysql(): Store the cursor position
    also for unlock_row().  (Bug #39320)
    
    rb://96 approved by Heikki Tuuri.
    
    r4400 | marko | 2009-03-12 10:06:44 +0200 (Thu, 12 Mar 2009) | 8 lines
    branches/5.1: Fix a bug in multi-table semi-consistent reads.
    Remember the acquired record locks per table handle (row_prebuilt_t)
    rather than per transaction (trx_t), so that unlock_row should successfully
    unlock all non-matching rows in multi-table operations.
    This deficiency was found while investigating Bug #39320.
    
    rb://94 approved by Heikki Tuuri.
    
    r4481 | marko | 2009-03-19 15:01:48 +0200 (Thu, 19 Mar 2009) | 6 lines
    branches/5.1: row_unlock_for_mysql(): Do not unlock records that were
    modified by the current transaction.  This bug was introduced or unmasked
    in r4400.
    
    rb://97 approved by Heikki Tuuri
    
    r4573 | vasil | 2009-03-30 14:17:13 +0300 (Mon, 30 Mar 2009) | 4 lines
    branches/5.1:
    
    Fix email address from dev@innodb.com to innodb_dev_ww@oracle.com
    
    r4574 | vasil | 2009-03-30 14:27:08 +0300 (Mon, 30 Mar 2009) | 38 lines
    branches/5.1:
    
    Restore the state of INNODB_THREAD_CONCURRENCY to silence this warning:
    
      TEST                                      RESULT   TIME (ms)
      ------------------------------------------------------------
      
      worker[1] Using MTR_BUILD_THREAD 250, with reserved ports 12500..12509
      main.innodb                              [ pass ]   8803
      
      MTR's internal check of the test case 'main.innodb' failed.
      This means that the test case does not preserve the state that existed
      before the test case was executed.  Most likely the test case did not
      do a proper clean-up.
      This is the diff of the states of the servers before and after the
      test case was executed:
      mysqltest: Logging to '/tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.log'.
      mysqltest: Results saved in '/tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.result'.
      mysqltest: Connecting to server localhost:12500 (socket /tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/mysqld.1.sock) as 'root', connection 'default', attempt 0 ...
      mysqltest: ... Connected.
      mysqltest: Start processing test commands from './include/check-testcase.test' ...
      mysqltest: ... Done processing test commands.
      --- /tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.result	2009-03-30 14:12:31.000000000 +0300
      +++ /tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.reject	2009-03-30 14:12:41.000000000 +0300
      @@ -99,7 +99,7 @@
       INNODB_SUPPORT_XA	ON
       INNODB_SYNC_SPIN_LOOPS	20
       INNODB_TABLE_LOCKS	ON
      -INNODB_THREAD_CONCURRENCY	8
      +INNODB_THREAD_CONCURRENCY	16
       INNODB_THREAD_SLEEP_DELAY	10000
       INSERT_ID	0
       INTERACTIVE_TIMEOUT	28800
      
      mysqltest: Result content mismatch
      
      not ok
    
    r4576 | vasil | 2009-03-30 16:25:10 +0300 (Mon, 30 Mar 2009) | 4 lines
    branches/5.1:
    
    Revert a change to Makefile.am that I committed accidentally in c4574.
    58c33f55
lock0lock.c 138 KB