• inaam's avatar
    branches/innodb+: Merge revisions 6448:6504 from branches/zip: · a7316cba
    inaam authored
      ------------------------------------------------------------------------
      r6449 | marko | 2010-01-13 15:38:53 -0500 (Wed, 13 Jan 2010) | 18 lines
      
      branches/zip: lock_rec_validate_page(): Only validate the record
      queues when the thread is not holding a space->latch.
      
      When UNIV_DEBUG is defined while UNIV_SYNC_DEBUG is not,
      latching order violations will still occur and deadlocks will be possible.
      
      sync_thread_levels_nonempty_gen(): Renamed from
      sync_thread_levels_empty_gen().  Return the violating latch or NULL
      instead of FALSE or TRUE, except that there will be a ut_error before
      the non-NULL return.
      
      sync_thread_levels_empty_gen(): A macro that negates the return value of
      sync_thread_levels_nonempty_gen().
      
      sync_thread_levels_contains(): New function, based on
      sync_thread_levels_nonempty_gen().
      
      This should fix Issue #441.
      ------------------------------------------------------------------------
      r6463 | marko | 2010-01-14 08:43:37 -0500 (Thu, 14 Jan 2010) | 5 lines
      
      branches/zip: page_copy_rec_list_end(), page_copy_rec_list_start():
      Update PAGE_MAX_TRX_ID before attempting to compress the page.  This
      fixes Issue #382 (a debug assertion failure in page_zip_reorganize())
      and reduces the generated redo log.  There was no bug or crash in
      non-debug builds.
      ------------------------------------------------------------------------
      r6467 | inaam | 2010-01-14 13:46:00 -0500 (Thu, 14 Jan 2010) | 10 lines
      
      branches/zip rb://226
      
      log_sys->written_to_all_lsn does not accurately represent the LSN
      upto which write and flush has taken place. Under a race condition
      it can fall behind log_sys->flushed_to_disk_lsn which is accurate.
      Besides written_to_all_lsn is redundant as currently InnoDB supports
      only one log group.
      
      Approved by: Heikki
      
      ------------------------------------------------------------------------
      r6472 | calvin | 2010-01-15 18:53:47 -0500 (Fri, 15 Jan 2010) | 12 lines
      
      branches/zip: Merge revisions 6425:6471 from branches/5.1
      to pick up the first part fix of bug49396.
      
          ------------------------------------------------------------------------
          r6471 | calvin | 2010-01-15 17:43:27 -0600 (Fri, 15 Jan 2010) | 4 lines
      
          branches/5.1: fix bug#49396: main.innodb test fails in embedded mode
      
          Change replace_result by using $MYSQLD_DATADIR. Tested in both embedded
          mode and normal server mode.
          ------------------------------------------------------------------------
      
      ------------------------------------------------------------------------
      r6473 | calvin | 2010-01-15 18:58:16 -0500 (Fri, 15 Jan 2010) | 6 lines
      
      branches/zip: fix bug#49396: innodb.innodb-index test fails in
      embedded mode
      
      This is 2nd part of the fix for bug#49396. The 1st part is
      innodb.test. Tested in both embedded mode and normal server mode.
      
      ------------------------------------------------------------------------
      r6498 | marko | 2010-01-21 04:22:52 -0500 (Thu, 21 Jan 2010) | 15 lines
      
      branches/zip: buf_page_get_gen(): Obey recv_no_ibuf_operations
      and do not call ibuf_merge_or_delete_for_page() in crash recovery,
      before the redo log has been applied.
      This could cure some hard-to-repeat, hard-to-explain bugs
      related to secondary indexes.
      
      A possible recipe to repeat the bug:
      
      1. update a secondary index leaf page on a compressed table
      2. evict the page from the buffer pool while it is still dirty
      3. ibuf_insert() something for the page
      4. crash
      5. crash recovery; ibuf merge would be done too early,
      before applying redo log to the sec index page or the ibuf pages
      
      ------------------------------------------------------------------------
    a7316cba
page0page.c 68.2 KB