1. 04 May, 2010 7 commits
    • Vasil Dimov's avatar
      Merge from mysql-5.1-innodb: · 5c4fc7f0
      Vasil Dimov authored
        ------------------------------------------------------------
        revno: 3421
        revision-id: marko.makela@oracle.com-20100426131029-1ffja69h6n88q6bo
        parent: marko.makela@oracle.com-20100426112609-f7lgl8crw4x4sfkk
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Mon 2010-04-26 16:10:29 +0300
        message:
          lock_rec_queue_validate(): Disable a bogus check that
          a transaction that holds a lock on a clustered index record
          also holds a lock on the secondary index record.
        modified:
          storage/innobase/lock/lock0lock.c 2@cee13dc7-1704-0410-992b-c9b4543f1246:trunk%2Flock%2Flock0lock.c
          storage/innodb_plugin/lock/lock0lock.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Flock%2Flock0lock.c
        ------------------------------------------------------------
      5c4fc7f0
    • Vasil Dimov's avatar
      Merge from mysql-5.1-innodb: · fe6f052c
      Vasil Dimov authored
        ------------------------------------------------------------
        revno: 3420
        revision-id: marko.makela@oracle.com-20100426112609-f7lgl8crw4x4sfkk
        parent: marko.makela@oracle.com-20100426110856-14tc8re1f5kp5j3g
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Mon 2010-04-26 14:26:09 +0300
        message:
          recv_sys_init(): Skip the red-black tree in Hot Backup.
        modified:
          storage/innodb_plugin/log/log0recv.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Flog%2Flog0recv.c
        ------------------------------------------------------------
      fe6f052c
    • Vasil Dimov's avatar
      Merge from mysql-5.1-innodb: · f6181a3e
      Vasil Dimov authored
        ------------------------------------------------------------
        revno: 3419
        revision-id: marko.makela@oracle.com-20100426110856-14tc8re1f5kp5j3g
        parent: marko.makela@oracle.com-20100426105215-2e9nzq8z0nfwxjky
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Mon 2010-04-26 14:08:56 +0300
        message:
          Add a test case for Bug #52745.
        added:
          mysql-test/suite/innodb_plugin/r/innodb_bug52745.result innodb_bug52745.resu-20100426110444-2211220xcgz0el4v-1
          mysql-test/suite/innodb_plugin/t/innodb_bug52745.test innodb_bug52745.test-20100426110444-2211220xcgz0el4v-2
        ------------------------------------------------------------
      f6181a3e
    • Vasil Dimov's avatar
      Merge from mysql-5.1-innodb: · 5d2f6e7c
      Vasil Dimov authored
        ------------------------------------------------------------
        revno: 3417
        revision-id: marko.makela@oracle.com-20100426102725-as2vc44ddykg1786
        parent: marko.makela@oracle.com-20100426073949-txnbqldrl9fdlapx
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Mon 2010-04-26 13:27:25 +0300
        message:
          row_search_for_mysql(): Never try semi-consistent read in unique searches.
          They are only useful in table scans. (Bug #52663)
        added:
          mysql-test/suite/innodb/r/innodb_bug52663.result innodb_bug52663.resu-20100426102328-fymyevkummgyc3gm-1
          mysql-test/suite/innodb/t/innodb_bug52663-master.opt innodb_bug52663maste-20100426102328-fymyevkummgyc3gm-2
          mysql-test/suite/innodb/t/innodb_bug52663.test innodb_bug52663.test-20100426102328-fymyevkummgyc3gm-3
          mysql-test/suite/innodb_plugin/r/innodb_bug52663.result innodb_bug52663.resu-20100426102328-fymyevkummgyc3gm-4
          mysql-test/suite/innodb_plugin/t/innodb_bug52663.test innodb_bug52663.test-20100426102328-fymyevkummgyc3gm-5
        modified:
          storage/innobase/row/row0sel.c 2@cee13dc7-1704-0410-992b-c9b4543f1246:trunk%2Frow%2Frow0sel.c
          storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
          storage/innodb_plugin/row/row0sel.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Frow%2Frow0sel.c
        ------------------------------------------------------------
      5d2f6e7c
    • Vasil Dimov's avatar
      Merge from mysql-5.1-innodb: · 865df630
      Vasil Dimov authored
        ------------------------------------------------------------
        revno: 3416
        revision-id: marko.makela@oracle.com-20100426073949-txnbqldrl9fdlapx
        parent: calvin.sun@oracle.com-20100422191614-2atswbilyyxep6rm
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Mon 2010-04-26 10:39:49 +0300
        message:
          btr_page_split_and_insert(): Silence a compiler warning
          about possibly uninitialized variable insert_left.
        modified:
          storage/innodb_plugin/btr/btr0btr.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fbtr%2Fbtr0btr.c
        ------------------------------------------------------------
      865df630
    • Vasil Dimov's avatar
      Merge from mysql-5.1-innodb: · 46b1ee73
      Vasil Dimov authored
        ------------------------------------------------------------
        revno: 3415
        revision-id: calvin.sun@oracle.com-20100422191614-2atswbilyyxep6rm
        parent: marko.makela@oracle.com-20100422093342-jf9ojlzdqsdebohn
        committer: Calvin Sun <calvin.sun@oracle.com>
        branch nick: mysql-5.1-innodb
        timestamp: Thu 2010-04-22 14:16:14 -0500
        message:
          mysql-5.1-innodb: add error codes to innodb_bug51920.test
          kill of active connection yields different error code
          depending on platform.
        modified:
          mysql-test/suite/innodb/r/innodb_bug51920.result 6918@cee13dc7-1704-0410-992b-c9b4543f1246:branches%2F5.1%2Fmysql-test%2Finnodb_bug51920.result
          mysql-test/suite/innodb/t/innodb_bug51920.test 6918@cee13dc7-1704-0410-992b-c9b4543f1246:branches%2F5.1%2Fmysql-test%2Finnodb_bug51920.test
          mysql-test/suite/innodb_plugin/r/innodb_bug51920.result 6919@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb_bug51920.result
          mysql-test/suite/innodb_plugin/t/innodb_bug51920.test 6919@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb_bug51920.test
        ------------------------------------------------------------
      46b1ee73
    • Sunny Bains's avatar
      66ae1b9a
  2. 03 May, 2010 1 commit
  3. 30 Apr, 2010 5 commits
  4. 29 Apr, 2010 1 commit
  5. 27 Apr, 2010 2 commits
    • Sunny Bains's avatar
      Fix bug introduced by r3038. When a transaction is rolled back by the · 6c3b6808
      Sunny Bains authored
      lock monitor thread, it may have locks that are granted to waited to
      waiting transactions. These waiting transactions will need to be woken
      up but their trx->lock_wait_timeout flag will be FALSE causing the old
      code to break. What we need is a flag that covers the entire lock
      release process not individual transactions. The fix is to move the
      flag out of trx_t and into srv_sys_t.
      6c3b6808
    • Inaam Rana's avatar
      buf_flush_list() should return failure if one of the buffer pool · e77de87a
      Inaam Rana authored
      was skipped because another flush batch was active. This is to
      ensure that the when we return success then it is guaranteed that
      all pages up to the lsn_limit have been flushed to the disk.
      e77de87a
  6. 23 Apr, 2010 3 commits
  7. 22 Apr, 2010 10 commits
    • jyang's avatar
      Merge from mysql-trunk-innodb to local repository · 0e233879
      jyang authored
      0e233879
    • jyang's avatar
      Register newly added purge thread to performance schema tracking. · e4a4ec39
      jyang authored
      rb://289, approved by Marko
      e4a4ec39
    • Vasil Dimov's avatar
      Merge r3403..3414 from mysql-5.1-innodb: · 0ecec12d
      Vasil Dimov authored
        ------------------------------------------------------------
        revno: 3414
        revision-id: marko.makela@oracle.com-20100422093342-jf9ojlzdqsdebohn
        parent: marko.makela@oracle.com-20100421185359-8qaxoa2yyrpzwdd7
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Thu 2010-04-22 12:33:42 +0300
        message:
          Correct the definition of DICT_SYS_INDEXES_NAME_FIELD.
          When row_merge_drop_temp_indexes() was reworked to drop the indexes
          via the data dictionary cache, the code was broken because it would
          read the index name from the wrong field.
        modified:
          storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
          storage/innodb_plugin/dict/dict0boot.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdict%2Fdict0boot.c
          storage/innodb_plugin/include/dict0boot.h 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Finclude%2Fdict0boot.h
        ------------------------------------------------------------
        revno: 3413
        revision-id: marko.makela@oracle.com-20100421185359-8qaxoa2yyrpzwdd7
        parent: marko.makela@oracle.com-20100421102723-0i80uezbyu0ekj5d
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Wed 2010-04-21 21:53:59 +0300
        message:
          btr_page_split_and_insert(): Avoid an infinite loop. (Bug #52964)
          
          btr_page_tuple_smaller(): New function, refactored from
          btr_page_split_and_insert().
          
          btr_page_get_split_rec(): Renamed from btr_page_get_sure_split_rec().
          Note that a NULL return may mean that the tuple is to be inserted into
          either the lower or upper page, to be determined by btr_page_tuple_smaller().
          
          btr_page_split_and_insert(): When btr_page_get_split_rec() returns NULL,
          invoke btr_page_tuple_smaller() to determine which half-page the tuple
          belongs to.
          
          Reviewed by Sunny Bains
        modified:
          storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
          storage/innodb_plugin/btr/btr0btr.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fbtr%2Fbtr0btr.c
        ------------------------------------------------------------
        revno: 3412
        revision-id: marko.makela@oracle.com-20100421102723-0i80uezbyu0ekj5d
        parent: marko.makela@oracle.com-20100421100029-mji6lmdgvuqh96qq
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Wed 2010-04-21 13:27:23 +0300
        message:
          dict_create_index_step(): Be strict about DYNAMIC and COMPRESSED tables.
          Bug #50495 is about REDUNDANT and COMPACT tables, after all.
        modified:
          mysql-test/suite/innodb_plugin/r/innodb-zip.result 2252@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb-zip.result
          mysql-test/suite/innodb_plugin/t/innodb-zip.test 2252@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb-zip.test
          storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
          storage/innodb_plugin/dict/dict0crea.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdict%2Fdict0crea.c
        ------------------------------------------------------------
        revno: 3411
        revision-id: marko.makela@oracle.com-20100421100029-mji6lmdgvuqh96qq
        parent: marko.makela@oracle.com-20100421095033-0acvzxb8um8cms0a
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Wed 2010-04-21 13:00:29 +0300
        message:
          ha_innobase::add_index(): Only check for duplicate indexes
          when the data dictionary is locked.
          This fixes a UNIV_DEBUG assertion failure in innodb-index.test.
        modified:
          storage/innodb_plugin/handler/handler0alter.cc 1845@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fhandler%2Fhandler0alter.cc
        ------------------------------------------------------------
        revno: 3410
        revision-id: marko.makela@oracle.com-20100421095033-0acvzxb8um8cms0a
        parent: marko.makela@oracle.com-20100421094032-ir4glqk46qvg2ywn
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Wed 2010-04-21 12:50:33 +0300
        message:
          dtuple_convert_big_rec(): Store locally any fields whose maximum length
          is less than 256 bytes. (Bug #52745)
          Add related comments and debug assertions to the "offsets"
          functions in rem0rec.c.
          Approved by Sunny Bains
        modified:
          storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
          storage/innodb_plugin/data/data0data.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdata%2Fdata0data.c
          storage/innodb_plugin/rem/rem0rec.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Frem%2Frem0rec.c
        ------------------------------------------------------------
        revno: 3409
        revision-id: marko.makela@oracle.com-20100421094032-ir4glqk46qvg2ywn
        parent: marko.makela@oracle.com-20100421091611-uu46iygmv5sizjru
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Wed 2010-04-21 12:40:32 +0300
        message:
          Adjust tests for the Bug #50495 fix.
        modified:
          mysql-test/suite/innodb_plugin/r/innodb-zip.result 2252@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb-zip.result
          mysql-test/suite/innodb_plugin/t/innodb-zip.test 2252@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb-zip.test
          mysql-test/suite/innodb_plugin/t/innodb_bug36169.test 2418@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb_bug36169.test
        ------------------------------------------------------------
        revno: 3408
        revision-id: marko.makela@oracle.com-20100421091611-uu46iygmv5sizjru
        parent: marko.makela@oracle.com-20100421063916-h3gwjea7jzjilyww
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Wed 2010-04-21 12:16:11 +0300
        message:
          rec_convert_dtuple_to_rec(): Correct the debug check.
          The "extern" accessor functions return zero or nonzero, not 0 or 1.
        modified:
          storage/innodb_plugin/rem/rem0rec.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Frem%2Frem0rec.c
        ------------------------------------------------------------
        revno: 3407
        revision-id: marko.makela@oracle.com-20100421063916-h3gwjea7jzjilyww
        parent: marko.makela@oracle.com-20100420201550-cax1xywvlcdshgfg
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Wed 2010-04-21 09:39:16 +0300
        message:
          rec_convert_dtuple_to_rec(): Add a debug check.
        modified:
          storage/innodb_plugin/rem/rem0rec.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Frem%2Frem0rec.c
        ------------------------------------------------------------
        revno: 3406
        revision-id: marko.makela@oracle.com-20100420201550-cax1xywvlcdshgfg
        parent: marko.makela@oracle.com-20100420114222-diq7h2hiom9ww6me
        committer: Marko Makela <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Tue 2010-04-20 23:15:50 +0300
        message:
          btr_cur_optimistic_insert(): Remove unused variable "heap".
        modified:
          storage/innodb_plugin/btr/btr0cur.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fbtr%2Fbtr0cur.c
        ------------------------------------------------------------
        revno: 3405
        revision-id: marko.makela@oracle.com-20100420114222-diq7h2hiom9ww6me
        parent: marko.makela@oracle.com-20100420082908-tpako8jd4imkh1xb
        committer: Marko Makela <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Tue 2010-04-20 14:42:22 +0300
        message:
          dict_create_index_step(): Invoke dict_index_add_to_cache()
          in strict mode only if innodb_strict_mode is set. (Bug #50495)
          
          trx_is_strict(): New function, for checking innodb_strict_mode.
        modified:
          storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
          storage/innodb_plugin/dict/dict0crea.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdict%2Fdict0crea.c
          storage/innodb_plugin/handler/ha_innodb.cc 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fhandler%2Fha_innodb.cc
          storage/innodb_plugin/include/trx0trx.h 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Finclude%2Ftrx0trx.h
        ------------------------------------------------------------
        revno: 3404
        revision-id: marko.makela@oracle.com-20100420082908-tpako8jd4imkh1xb
        parent: marko.makela@oracle.com-20100419103603-u5pz4qc6hfhx4nua
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Tue 2010-04-20 11:29:08 +0300
        message:
          Implement UNIV_BTR_AVOID_COPY, an optimization of page splits.
        modified:
          storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
          storage/innodb_plugin/btr/btr0btr.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fbtr%2Fbtr0btr.c
          storage/innodb_plugin/include/univ.i 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Finclude%2Funiv.i
        ------------------------------------------------------------
        revno: 3403
        revision-id: marko.makela@oracle.com-20100419103603-u5pz4qc6hfhx4nua
        parent: marko.makela@oracle.com-20100419094405-fd3xwadullishv07
        committer: Marko =?ISO-8859-1?Q?M=E4kel=E4?= <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Mon 2010-04-19 13:36:03 +0300
        message:
          Enable UNIV_DEBUG_VALGRIND when HAVE_purify is set.
        modified:
          storage/innobase/include/univ.i 2@cee13dc7-1704-0410-992b-c9b4543f1246:trunk%2Finclude%2Funiv.i
          storage/innodb_plugin/include/univ.i 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Finclude%2Funiv.i
      0ecec12d
    • Vasil Dimov's avatar
      Merge c3400 from mysql-5.1-innodb: · 4ad49cf6
      Vasil Dimov authored
        ------------------------------------------------------------
        revno: 3400
        revision-id: mmakela@bk-internal.mysql.com-20100415070122-1nxji8ym4mao13ao
        parent: vasil.dimov@oracle.com-20100414200413-ktulgshvdp0smxk0
        committer: Marko Makela <mmakela@bk-internal.mysql.com>
        branch nick: mysql-5.1-innodb
        timestamp: Thu 2010-04-15 09:01:22 +0200
        message:
          storage/innodb_plugin: Relax too strict assertions about prefix
          indexed BLOBs for ROW_FORMAT=DYNAMIC and ROW_FORMAT_COMPRESSED tables
          (Bug #52746). In these tables, the locally stored prefix of a BLOB can
          be as small as 20 bytes (BTR_EXTERN_FIELD_REF_SIZE). ROW_FORMAT=REDUNDANT
          and ROW_FORMAT=COMPACT store a prefix of 768 bytes (REC_MAX_INDEX_COL_LEN).
          
          trx_undo_rec_get_col_val(): Relax the ut_ad() assertion and add a
          reference to dtuple_convert_big_rec().
          
          trx_undo_rec_get_partial_row(): Relax the ut_a() assertion that
          prompted Bug #52746.
        modified:
          storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
          storage/innodb_plugin/trx/trx0rec.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Ftrx%2Ftrx0rec.c
      4ad49cf6
    • Vasil Dimov's avatar
      Merge from innodb-branches-innodb+ · 32df8294
      Vasil Dimov authored
      32df8294
    • Vasil Dimov's avatar
      Merge branches/innodb+ from SVN · e1291ef7
      Vasil Dimov authored
      e1291ef7
    • mmakela's avatar
      branches/innodb+: Merge revisions 6949:6970 from branches/zip, · eda8d678
      mmakela authored
      skipping the revisions that do not make sense in branches/innodb+:
        ------------------------------------------------------------------------
        r6957 | vdimov | 2010-04-06 22:05:54 +0300 (Tue, 06 Apr 2010) | 2 lines
        Changed paths:
           M /branches/zip/trx/trx0trx.c
      
        branches/zip: Whitespace fixup
        ------------------------------------------------------------------------
        r6962 | mmakela | 2010-04-07 15:03:54 +0300 (Wed, 07 Apr 2010) | 2 lines
        Changed paths:
           M /branches/zip/handler/ha_innodb.cc
      
        branches/zip: innobase_init(): Correct the error message
        about wrong innodb_change_buffering value.  Reported by Ranger.
        ------------------------------------------------------------------------
        r6967 | vdimov | 2010-04-07 22:40:38 +0300 (Wed, 07 Apr 2010) | 2 lines
        Changed paths:
           M /branches/zip/include/univ.i
      
        branches/zip: Whitespace fixup in univ.i
        ------------------------------------------------------------------------
      eda8d678
    • Vasil Dimov's avatar
      Merge from innodb-branches-innodb+ · a747e2ae
      Vasil Dimov authored
      a747e2ae
    • Vasil Dimov's avatar
      Merge branches/innodb+ from SVN. · 69d2cff5
      Vasil Dimov authored
      69d2cff5
    • sbains's avatar
      branches/innodb+: Add a check for thread suspended time to the list of checks · 18a68a24
      sbains authored
      for slot recycle. Udpate the comments.
      18a68a24
  8. 21 Apr, 2010 2 commits
  9. 20 Apr, 2010 1 commit
  10. 19 Apr, 2010 7 commits
    • Vasil Dimov's avatar
      Merge from innodb-branches-innodb+ (2) · d361aed9
      Vasil Dimov authored
      d361aed9
    • Vasil Dimov's avatar
      Merge from SVN · 76bba8d6
      Vasil Dimov authored
      76bba8d6
    • Vasil Dimov's avatar
      Refactor the innodb_bug38231 mysql-test to conform with the · 4e87ba75
      Vasil Dimov authored
      newly introduced metadata locks.
      
      Previously the behavior was deterministic and if several LOCKs were
      waiting the first one of them was released by UNLOCK (in chronological
      order).
      
      Now (with MDLs) the behavior is undefined and since we do not know in
      what order to --reap the connections we simply disconnect them without
      reaping.
      4e87ba75
    • irana's avatar
      branches/innodb+ · c18084f7
      irana authored
      Merge r6915:6992 from branches/innodb+multipbp (i.e.: all the changes
      made since it's creation)
      
      This also reverts r6930 to branches/innodb+ because a different
      solution for that issue is already present in innodb+multibp which
      is being merged.
      
      After this commit branches/innodb+multibp should be discarded
      and this branch should become our main development tree.
      
        ------------------------------------------------------------------------
        r6915 | sbains | 2010-03-31 07:33:43 +0300 (Wed, 31 Mar 2010) | 1 line
        Changed paths:
           A /branches/innodb+multibp (from /branches/innodb+:6914)
        
        Creating a branch for the multiple buffer pool
        ------------------------------------------------------------------------
        r6916 | sbains | 2010-03-31 08:21:00 +0300 (Wed, 31 Mar 2010) | 3 lines
        Changed paths:
           M /branches/innodb+multibp/CMakeLists.txt
           M /branches/innodb+multibp/btr/btr0btr.c
           M /branches/innodb+multibp/btr/btr0cur.c
           M /branches/innodb+multibp/btr/btr0sea.c
           M /branches/innodb+multibp/buf/buf0buddy.c
           M /branches/innodb+multibp/buf/buf0buf.c
           M /branches/innodb+multibp/buf/buf0flu.c
           M /branches/innodb+multibp/buf/buf0lru.c
           M /branches/innodb+multibp/buf/buf0rea.c
           M /branches/innodb+multibp/handler/ha_innodb.cc
           M /branches/innodb+multibp/handler/i_s.cc
           M /branches/innodb+multibp/ibuf/ibuf0ibuf.c
           M /branches/innodb+multibp/include/buf0buddy.h
           M /branches/innodb+multibp/include/buf0buddy.ic
           M /branches/innodb+multibp/include/buf0buf.h
           M /branches/innodb+multibp/include/buf0buf.ic
           M /branches/innodb+multibp/include/buf0flu.h
           M /branches/innodb+multibp/include/buf0flu.ic
           M /branches/innodb+multibp/include/buf0lru.h
           M /branches/innodb+multibp/include/buf0rea.h
           M /branches/innodb+multibp/include/buf0types.h
           M /branches/innodb+multibp/include/ibuf0ibuf.ic
           M /branches/innodb+multibp/include/srv0srv.h
           M /branches/innodb+multibp/include/univ.i
           M /branches/innodb+multibp/log/log0log.c
           M /branches/innodb+multibp/log/log0recv.c
           M /branches/innodb+multibp/mem/mem0mem.c
           M /branches/innodb+multibp/page/page0zip.c
           M /branches/innodb+multibp/srv/srv0srv.c
           M /branches/innodb+multibp/srv/srv0start.c
           M /branches/innodb+multibp/trx/trx0trx.c
           M /branches/innodb+multibp/trx/trx0undo.c
        
        branches/innodb+multibp: Unable to crash it with UNIV_DEBUG and UNIV_SYNC_DEBUG
        with both ibtests and Sysbench. The patch now needs a workout from Michael.
        
        ------------------------------------------------------------------------
        r6917 | sbains | 2010-03-31 08:56:18 +0300 (Wed, 31 Mar 2010) | 2 lines
        Changed paths:
           M /branches/innodb+multibp/handler/ha_innodb.cc
        
        branches/innodb+multibp: Fix error introduced in r6916.
        
        ------------------------------------------------------------------------
        r6923 | sbains | 2010-03-31 15:16:04 +0300 (Wed, 31 Mar 2010) | 3 lines
        Changed paths:
           M /branches/innodb+multibp/btr/btr0cur.c
           M /branches/innodb+multibp/buf/buf0buddy.c
           M /branches/innodb+multibp/buf/buf0buf.c
           M /branches/innodb+multibp/buf/buf0flu.c
           M /branches/innodb+multibp/buf/buf0lru.c
           M /branches/innodb+multibp/include/buf0buddy.ic
           M /branches/innodb+multibp/include/buf0buf.h
           M /branches/innodb+multibp/include/buf0buf.ic
           M /branches/innodb+multibp/include/buf0flu.ic
           M /branches/innodb+multibp/page/page0zip.c
        
        branches/innodb+multibp: Fix whitespace issues. Add function
        buf_pool_from_block(). Add some comments to parameters.
        
        ------------------------------------------------------------------------
        r6932 | sbains | 2010-04-01 01:12:07 +0300 (Thu, 01 Apr 2010) | 4 lines
        Changed paths:
           M /branches/innodb+multibp/include/buf0buf.ic
           M /branches/innodb+multibp/include/univ.i
        
        branches/innodb+multibp: Remove bogus assertion. It's possible for the space
        and offset of a page to be undefined during the lifecycle of a page. Remove
        the debug #defines from univ.i.
        
        ------------------------------------------------------------------------
        r6933 | sbains | 2010-04-01 01:22:40 +0300 (Thu, 01 Apr 2010) | 2 lines
        Changed paths:
           M /branches/innodb+multibp/srv/srv0start.c
        
        branches/innodb+multibp: Fix whitespace issues.
        
        ------------------------------------------------------------------------
        r6934 | sbains | 2010-04-01 01:53:18 +0300 (Thu, 01 Apr 2010) | 2 lines
        Changed paths:
           M /branches/innodb+multibp/CMakeLists.txt
           M /branches/innodb+multibp/ChangeLog
           M /branches/innodb+multibp/buf/buf0buf.c
           M /branches/innodb+multibp/buf/buf0flu.c
           M /branches/innodb+multibp/handler/ha_innodb.cc
           M /branches/innodb+multibp/include/buf0buf.h
           M /branches/innodb+multibp/include/buf0buf.ic
           M /branches/innodb+multibp/include/buf0flu.ic
           M /branches/innodb+multibp/include/srv0srv.h
           M /branches/innodb+multibp/include/sync0sync.h
           M /branches/innodb+multibp/include/trx0purge.h
           M /branches/innodb+multibp/include/ut0ut.h
           M /branches/innodb+multibp/include/ut0ut.ic
           M /branches/innodb+multibp/lock/lock0lock.c
           M /branches/innodb+multibp/log/log0recv.c
           M /branches/innodb+multibp/mtr/mtr0mtr.c
           M /branches/innodb+multibp/mysql-test/innodb_bug38231.test
           A /branches/innodb+multibp/mysql-test/innodb_bug51920.result (from /branches/innodb+/mysql-test/innodb_bug51920.result:6931)
           A /branches/innodb+multibp/mysql-test/innodb_bug51920.test (from /branches/innodb+/mysql-test/innodb_bug51920.test:6931)
           M /branches/innodb+multibp/row/row0sel.c
           M /branches/innodb+multibp/srv/srv0srv.c
           M /branches/innodb+multibp/srv/srv0start.c
           M /branches/innodb+multibp/sync/sync0sync.c
           M /branches/innodb+multibp/trx/trx0purge.c
        
        branches/innodb+multibp: Merge revisions r6914:6931 from branches/innodb+
        
        ------------------------------------------------------------------------
        r6935 | sbains | 2010-04-01 02:08:32 +0300 (Thu, 01 Apr 2010) | 3 lines
        Changed paths:
           M /branches/innodb+multibp/buf/buf0flu.c
           M /branches/innodb+multibp/include/buf0flu.ic
           M /branches/innodb+multibp/mtr/mtr0mtr.c
        
        branches/innodb+multibp: Fix the debug assertions for flush order mutex. These
        were missed in r6934.
        
        ------------------------------------------------------------------------
        r6936 | sbains | 2010-04-01 02:46:52 +0300 (Thu, 01 Apr 2010) | 4 lines
        Changed paths:
           M /branches/innodb+multibp/sync/sync0sync.c
        
        branches/innodb+multibp: Because now we have multiple instances of a mutex at
        the same level and these mutexes can be acquired simultaneously we can't
        simply check for <= level. We need to check for <= level - 1.
        
        ------------------------------------------------------------------------
        r6937 | sbains | 2010-04-01 04:40:17 +0300 (Thu, 01 Apr 2010) | 5 lines
        Changed paths:
           M /branches/innodb+multibp/trx/trx0purge.c
        
        branches/innodb+multibp: We need to check if the history list len is > than
        some threshold not that it is evenly divisible by the some batch size. While
        running tests on dscczz01 I've observed that the purge thread can't keep up
        with the generation of the UNDO log records because of the faster code.
        
        ------------------------------------------------------------------------
        r6938 | irana | 2010-04-01 10:15:00 +0300 (Thu, 01 Apr 2010) | 7 lines
        Changed paths:
           M /branches/innodb+multibp/buf/buf0buf.c
           M /branches/innodb+multibp/buf/buf0flu.c
           M /branches/innodb+multibp/include/buf0buf.h
           M /branches/innodb+multibp/include/buf0buf.ic
           M /branches/innodb+multibp/include/buf0flu.h
           M /branches/innodb+multibp/include/buf0flu.ic
           M /branches/innodb+multibp/include/log0log.h
           M /branches/innodb+multibp/include/sync0sync.h
           M /branches/innodb+multibp/log/log0log.c
           M /branches/innodb+multibp/log/log0recv.c
           M /branches/innodb+multibp/mtr/mtr0mtr.c
           M /branches/innodb+multibp/sync/sync0sync.c
        
        branches/innodb+multibp
        
        The buf_flush_order patch that was ported in from 1.1 won't work with
        multiple buffer pools. This patch moves the mutex protecting order of
        insertion in the flush list(s) to log_sys struct so that we can have
        one global mutex protecting insertions into all flush list(s)
        
        ------------------------------------------------------------------------
        r6941 | sbains | 2010-04-02 00:51:28 +0300 (Fri, 02 Apr 2010) | 4 lines
        Changed paths:
           M /branches/innodb+multibp/lock/lock0lock.c
        
        branches/innodb+multibp: We should get the record heap no to check recursively
        only if we are checking a record lock. Prior to this fix we were doing it for
        table locks as well, this is a bug.
        
        ------------------------------------------------------------------------
        r6942 | csun | 2010-04-02 02:39:10 +0300 (Fri, 02 Apr 2010) | 4 lines
        Changed paths:
           M /branches/innodb+multibp/ha/ha0ha.c
        
        branches/innodb+multibp: fix compiler errors on Windows.
        Move ut_ad() to after declarations for C file.
        
        
        ------------------------------------------------------------------------
        r6943 | sbains | 2010-04-03 05:14:25 +0300 (Sat, 03 Apr 2010) | 2 lines
        Changed paths:
           M /branches/innodb+multibp/buf/buf0buf.c
        
        branches/innodb+multibp: Remove the code that created the fake buffer pool.
        
        ------------------------------------------------------------------------
        r6945 | irana | 2010-04-05 23:35:29 +0300 (Mon, 05 Apr 2010) | 5 lines
        Changed paths:
           M /branches/innodb+multibp/lock/lock0lock.c
        
        branches/innodb+multibp
        
        Revert r6941 as it does not resolve the issue and we have to take
        back the whole fix for bug#49047
        
        ------------------------------------------------------------------------
        r6946 | irana | 2010-04-05 23:50:42 +0300 (Mon, 05 Apr 2010) | 6 lines
        Changed paths:
           M /branches/innodb+multibp/include/ut0ut.h
           M /branches/innodb+multibp/include/ut0ut.ic
           M /branches/innodb+multibp/lock/lock0lock.c
        
        branches/innodb+multibp
        
        Merged revisions 6932:6944 from branches/innodb+
        
        This solely includes the reversal of fix for bug#49047
        
        ------------------------------------------------------------------------
        r6947 | sbains | 2010-04-06 01:33:46 +0300 (Tue, 06 Apr 2010) | 3 lines
        Changed paths:
           M /branches/innodb+multibp/buf/buf0lru.c
        
        branches/innodb+multibp: Remove the log sys mutex acquisition when doing
        buffer pool stat aggregation. A dirty read here should suffice.
        
        ------------------------------------------------------------------------
        r6951 | irana | 2010-04-06 17:25:29 +0300 (Tue, 06 Apr 2010) | 5 lines
        Changed paths:
           M /branches/innodb+multibp/buf/buf0buf.c
        
        branches/innodb+mbp
        
        Initialize the buf_page_t::buf_pool pointer when the descriptor is
        allocated using buf_buddy_alloc().
        
        ------------------------------------------------------------------------
        r6954 | jyang | 2010-04-06 21:24:46 +0300 (Tue, 06 Apr 2010) | 4 lines
        Changed paths:
           M /branches/innodb+multibp/handler/ha_innodb.cc
        
        branches/innodb+multibp: Fix a possible null pointer of index_mapping
        in a race condition.
        
        
        ------------------------------------------------------------------------
        r6958 | sbains | 2010-04-07 00:27:44 +0300 (Wed, 07 Apr 2010) | 3 lines
        Changed paths:
           M /branches/innodb+multibp/include/ut0mem.h
           M /branches/innodb+multibp/ut/ut0mem.c
        
        branches/innodb+multibp: Fix part of Bug#52546. We allow ut_free() to accept
        a NULL pointer and treat it as a nop.
        
        ------------------------------------------------------------------------
        r6961 | jyang | 2010-04-07 10:50:03 +0300 (Wed, 07 Apr 2010) | 9 lines
        Changed paths:
           M /branches/innodb+multibp/handler/ha_innodb.cc
        
        branches/innodb+multibp: Fix for bug #52580: Crash in
        ha_innobase::open on executing INSERT with concurrent ALTER TABLE.
        Change in MySQL bug #51557 releases the mutex LOCK_open before
        ha_innobase::open(), causing racing condition for index translation
        table creation. Fix it by adding dict_sys mutex for the operation.
        
        rb://283, approved by Marko.
        
        
        ------------------------------------------------------------------------
        r6963 | irana | 2010-04-07 19:14:10 +0300 (Wed, 07 Apr 2010) | 15 lines
        Changed paths:
           M /branches/innodb+multibp/handler/ha_innodb.cc
        
        branches/innodb+multibp
        
        Force setting of buf_pool->LRU_old_ratio by calling
        buf_LRU_old_ratio_update() with adjust set to TRUE. This will make sure
        that we grab the buf_pool mutex and actually adjust the
        buf_pool->LRU_old pointer instead of just updating the
        buf_pool->LRU_old_ratio.
        
        Note that after this change there is no call to
        buf_LRU_old_ratio_update() with adjust set to FALSE and therefore
        this parameter should be removed. I am keeping it for now to first
        make sure that the fix does work.
        
        Approved by: No one. Sunny agreed with my hypothesis of the problem.
        
        ------------------------------------------------------------------------
        r6964 | irana | 2010-04-07 19:59:59 +0300 (Wed, 07 Apr 2010) | 5 lines
        Changed paths:
           M /branches/innodb+multibp/handler/ha_innodb.cc
        
        branches/innodb+multibp
        
        Remove a too strong assertion on behalf of Jimmy.
        
        
        ------------------------------------------------------------------------
        r6971 | sbains | 2010-04-09 13:23:33 +0300 (Fri, 09 Apr 2010) | 6 lines
        Changed paths:
           M /branches/innodb+multibp/buf/buf0buf.c
        
        branches/innodb+multibp: When getting the oldest (minimum) LSN value from all
        the flush lists we need to acquire the flush list mutex. We were incorrectly
        acquiring the buffer pool mutex.
        
        This patch should fix a slew of bugs reported by Michael.
        
        ------------------------------------------------------------------------
        r6972 | sbains | 2010-04-10 00:25:09 +0300 (Sat, 10 Apr 2010) | 5 lines
        Changed paths:
           M /branches/innodb+multibp/buf/buf0buf.c
        
        branches/innodb+multibp: We should not reset the lsn to 0 when we encounter
        an empty flush list. Oldest LSN should be 0 only when all flush lists are empty.
        e.g., without this fix if even one flush list was empty we would end up
        breaking WAL.
        
        ------------------------------------------------------------------------
        r6987 | sbains | 2010-04-14 00:14:13 +0300 (Wed, 14 Apr 2010) | 12 lines
        Changed paths:
           M /branches/innodb+multibp/buf/buf0buf.c
        
        branches/innodb+multibp: When calculating the oldest_lsn we can have a
        situation where we've iterated to say buffer pool 3 and another thread
        adds two new dirty pages, the first to buffer pool 1 and the second to
        buffer pool 4. Up to say buffer pool 3 the oldest_lsn was 0. Now, we will
        end up returning the lsn at buffer pool 4 as the oldest LSN. We prevent this
        by acquiring the flush order mutex.
        
        One other future option is to calculate the min_lsn when flushing pages
        from the list and maintaining a running total using atomics. That way
        we can get rid of this function altogether. The atomics will only really
        be required when we do parallel flushing.
        
        ------------------------------------------------------------------------
        r6992 | sbains | 2010-04-14 02:45:59 +0300 (Wed, 14 Apr 2010) | 2 lines
        Changed paths:
           M /branches/innodb+multibp/include/ut0rbt.h
           M /branches/innodb+multibp/ut/ut0rbt.c
        
        branches/innodb+multibp: Fix copyright of the rbt code.
        
        ------------------------------------------------------------------------
      c18084f7
    • Vasil Dimov's avatar
      Fix typo in comment. · 210510f4
      Vasil Dimov authored
      210510f4
    • Vasil Dimov's avatar
    • Vasil Dimov's avatar
      Re-enable tests that have been fixed and update the innodb test to the · 0f0e5a91
      Vasil Dimov authored
      latest behavior after it has been disabled for a long time.
      0f0e5a91
  11. 16 Apr, 2010 1 commit