1. 14 Jul, 2009 1 commit
    • vasil's avatar
      branches/zip: Merge r5341:5497 from branches/5.1, skipping: · 4cb1a623
      vasil authored
      c5419 because it is merge from branches/zip into branches/5.1
      c5466 because the source code has been adjusted to match the MySQL
        behavior and the innodb-autoinc test does not fail in branches/zip,
        if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested
        not to merge c5466.
      and resolving conflicts in c5410, c5440, c5488:
      
        ------------------------------------------------------------------------
        r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines
        Changed paths:
           M /branches/5.1/include/trx0sys.ic
           M /branches/5.1/trx/trx0purge.c
           M /branches/5.1/trx/trx0sys.c
           M /branches/5.1/trx/trx0undo.c
        
        branches/5.1: Add missing #include "mtr0log.h" to avoid warnings
        when compiling with -DUNIV_MUST_NOT_INLINE.
        ------------------------------------------------------------------------
        r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
           M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result
           M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test
           M /branches/5.1/mysql-test/innodb_bug42101.result
           M /branches/5.1/mysql-test/innodb_bug42101.test
        
        branches/5.1: Merge r5418 from branches/zip:
        
          ------------------------------------------------------------------------
          r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines
          Changed paths:
             M /branches/zip/ChangeLog
             M /branches/zip/handler/ha_innodb.cc
             M /branches/zip/mysql-test/innodb_bug42101-nonzero.result
             M /branches/zip/mysql-test/innodb_bug42101-nonzero.test
             M /branches/zip/mysql-test/innodb_bug42101.result
             M /branches/zip/mysql-test/innodb_bug42101.test
          
          branches/zip: Fix a race condition caused by
          SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749)
          When innodb_commit_concurrency is initially set nonzero,
          DEFAULT would change it back to 0, triggering Bug #42101.
          rb://139 approved by Heikki Tuuri.
          ------------------------------------------------------------------------
        ------------------------------------------------------------------------
        r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines
        Changed paths:
           M /branches/5.1/fil/fil0fil.c
        
        branches/5.1:
        
        Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation
        
        by changing the URL from
        http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to
        http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html
        
        ------------------------------------------------------------------------
        r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines
        Changed paths:
           M /branches/5.1/mysql-test/innodb-autoinc.result
           M /branches/5.1/mysql-test/innodb-autoinc.test
        
        branches/5.1:
        
        Adjust the failing innodb-autoinc test to conform to the latest behavior
        of the MySQL code. The idea and the comment in innodb-autoinc.test come
        from Sunny.
        
        ------------------------------------------------------------------------
        r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
           A /branches/5.1/mysql-test/innodb_bug21704.result
           A /branches/5.1/mysql-test/innodb_bug21704.test
        
        branches/5.1:
        
        Fix Bug#21704 Renaming column does not update FK definition
        
        by checking whether a column that participates in a FK definition is being
        renamed and denying the ALTER in this case.
        
        The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>:
        http://lists.mysql.com/commits/77714
        and was later adjusted to conform to InnoDB coding style by me (Vasil),
        I also added some more comments and moved the bug specific mysql-test to
        a separate file to make it more manageable and flexible.
        
        ------------------------------------------------------------------------
      4cb1a623
  2. 13 Jul, 2009 4 commits
    • calvin's avatar
      branches/zip: fix run-time symbols clash on Solaris. · 1aa91d23
      calvin authored
      This patch is from Sergey Vojtovich of Sun Microsystems,
      to fix run-time symbols clash on Solaris with older C++
      compiler:
      - when finding out a way to hide symbols, make decision basing
        on compiler, not operating system.
      - Sun Studio supports __hidden declaration specifier for this
        purpose.
      1aa91d23
    • inaam's avatar
      branches/zip · e6e892f2
      inaam authored
      Fixed warnings on windows where ulint != ib_uint64_t
      e6e892f2
    • inaam's avatar
      branches/zip rb://138 (REVERT) · cda25368
      inaam authored
      Revert the flush neighbors patch as it shows regression in
      the benchmarks run by Michael.
      cda25368
    • vasil's avatar
      branches/zip: · 69963776
      vasil authored
      Restore the original value of innodb_sync_spin_loops at the end, previously
      the test assumed that setting it to 20 will do this, but now the default is
      30 and MTR's internal check failed.
      69963776
  3. 10 Jul, 2009 4 commits
  4. 08 Jul, 2009 2 commits
    • calvin's avatar
      branches/zip: fix PAUSE instruction patch on Windows · e0d67bc4
      calvin authored
      The original PAUSE instruction patch (r5470) does not
      compile on Windows. Also, there is an elegant way of
      doing it on Windows - YieldProcessor().
      
      Approved by: Heikki (on IM)
      e0d67bc4
    • inaam's avatar
      branches/zip rb://133 · 6e6d1e86
      inaam authored
      This patch introduces heuristics based flushing rate of dirty pages to
      avoid IO bursts at checkpoint.
      
      1) log_capacity / log_generated per second gives us number of seconds
      in which ALL dirty pages need to be flushed. Based on this rough
      assumption we can say that
      n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate
      
      2) We use weighted averages (hard coded to 20 seconds) of
      log_generation_rate to avoid resonance.
      
      3) From the desired_flush_rate we subtract the number of pages that have
      been flushed due to LRU flushing. That gives us pages that we should
      flush as part of flush_list cleanup. And that is the number (capped by
      maximum io_capacity) that we try to flush from the master thread.
      
      Knobs:
      ======
      
      innodb_adaptive_flushing: boolean, global, dynamic, default TRUE.
      Since this heuristic is very experimental and has the potential to
      dramatically change the IO pattern I think it is a good idea to leave a
      knob to turn it off.
      
      Approved by: Heikki
      
      6e6d1e86
  5. 07 Jul, 2009 3 commits
    • inaam's avatar
      branches/zip rb://138 · b6cb94ed
      inaam authored
      The current implementation is to try to flush the neighbors of every
      page that we flush. This patch makes the following distinction:
      
      1) If the flush is from flush_list AND
      2) If the flush is intended to move the oldest_modification LSN ahead
      (this happens when a user thread sees little space in the log file and
      attempts to flush pages from the buffer pool so that a checkpoint can
      be made)
      
      THEN
      
      Do not try to flush the neighbors. Just focus on flushing dirty pages at
      the end of flush_list
      
      Approved by: Heikki
      b6cb94ed
    • inaam's avatar
      branches/zip rb://126 · a1955cd2
      inaam authored
      Based on contribution from Google Inc.
      This patch introduces a new parameter innodb_io_capacity to control the
      rate at which master threads performs various tasks. The default value
      is 200 and higher values imply more aggressive flushing and ibuf merges
      from within the master thread.
      This patch also changes the ibuf merge from synchronous to asynchronous.
      Another minor change is not to force the master thread to wait for a
      log flush to complete every second.
      
      Approved by: Heikki
      a1955cd2
    • calvin's avatar
      branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. · d7d19d4c
      calvin authored
      Windows will support PAUSE instruction by default.
      d7d19d4c
  6. 06 Jul, 2009 2 commits
  7. 02 Jul, 2009 1 commit
  8. 30 Jun, 2009 18 commits
  9. 29 Jun, 2009 5 commits