1. 10 Nov, 2006 6 commits
    • unknown's avatar
      Backport patch of bugfix for: · b9eeb9b1
      unknown authored
      - Bug #15815: Very poor performance with multiple queries running concurrently
      - Bug #22868: 'Thread thrashing' with > 50 concurrent conns under an upd-intensive workloadw
      
      This is a patch from an e-mail; it is not included (yet) in an InnoDB snapshot.
      
      
      innobase/buf/buf0buf.c:
        branches/5.0: Merge r999 from trunk:
        
        Reduce buffer pool mutex contention under >= 4 big concurrent
        CPU-bound SELECT queries.  (Bug #22868)
        
        Fix: replace the mutex by one mutex protecting the 'flush list'
        (and the free list) and several mutexes protecting portions of the
        buffer pool, where we keep several indivudual LRU lists of pages.
        
        This patch is from Sunny Bains and Heikki Tuuri.
      innobase/buf/buf0flu.c:
        branches/5.0: Merge r999 from trunk:
        
        Reduce buffer pool mutex contention under >= 4 big concurrent
        CPU-bound SELECT queries.  (Bug #22868)
        
        Fix: replace the mutex by one mutex protecting the 'flush list'
        (and the free list) and several mutexes protecting portions of the
        buffer pool, where we keep several indivudual LRU lists of pages.
        
        This patch is from Sunny Bains and Heikki Tuuri.
      innobase/buf/buf0lru.c:
        branches/5.0: Merge r999 from trunk:
        
        Reduce buffer pool mutex contention under >= 4 big concurrent
        CPU-bound SELECT queries.  (Bug #22868)
        
        Fix: replace the mutex by one mutex protecting the 'flush list'
        (and the free list) and several mutexes protecting portions of the
        buffer pool, where we keep several indivudual LRU lists of pages.
        
        This patch is from Sunny Bains and Heikki Tuuri.
      innobase/include/buf0buf.h:
        branches/5.0: Merge r999 from trunk:
        
        Reduce buffer pool mutex contention under >= 4 big concurrent
        CPU-bound SELECT queries.  (Bug #22868)
        
        Fix: replace the mutex by one mutex protecting the 'flush list'
        (and the free list) and several mutexes protecting portions of the
        buffer pool, where we keep several indivudual LRU lists of pages.
        
        This patch is from Sunny Bains and Heikki Tuuri.
      innobase/include/buf0buf.ic:
        branches/5.0: Merge r999 from trunk:
        
        Reduce buffer pool mutex contention under >= 4 big concurrent
        CPU-bound SELECT queries.  (Bug #22868)
        
        Fix: replace the mutex by one mutex protecting the 'flush list'
        (and the free list) and several mutexes protecting portions of the
        buffer pool, where we keep several indivudual LRU lists of pages.
        
        This patch is from Sunny Bains and Heikki Tuuri.
      innobase/include/sync0arr.h:
        branches/5.0: Merge r999 from trunk:
        
        Reduce buffer pool mutex contention under >= 4 big concurrent
        CPU-bound SELECT queries.  (Bug #22868)
        
        Fix: replace the mutex by one mutex protecting the 'flush list'
        (and the free list) and several mutexes protecting portions of the
        buffer pool, where we keep several indivudual LRU lists of pages.
        
        This patch is from Sunny Bains and Heikki Tuuri.
      innobase/include/sync0rw.h:
        branches/5.0: Merge r999 from trunk:
        
        Reduce buffer pool mutex contention under >= 4 big concurrent
        CPU-bound SELECT queries.  (Bug #22868)
        
        Fix: replace the mutex by one mutex protecting the 'flush list'
        (and the free list) and several mutexes protecting portions of the
        buffer pool, where we keep several indivudual LRU lists of pages.
        
        This patch is from Sunny Bains and Heikki Tuuri.
      innobase/include/sync0rw.ic:
        branches/5.0: Merge r999 from trunk:
        
        Reduce buffer pool mutex contention under >= 4 big concurrent
        CPU-bound SELECT queries.  (Bug #22868)
        
        Fix: replace the mutex by one mutex protecting the 'flush list'
        (and the free list) and several mutexes protecting portions of the
        buffer pool, where we keep several indivudual LRU lists of pages.
        
        This patch is from Sunny Bains and Heikki Tuuri.
      innobase/include/sync0sync.h:
        branches/5.0: Merge r999 from trunk:
        
        Reduce buffer pool mutex contention under >= 4 big concurrent
        CPU-bound SELECT queries.  (Bug #22868)
        
        Fix: replace the mutex by one mutex protecting the 'flush list'
        (and the free list) and several mutexes protecting portions of the
        buffer pool, where we keep several indivudual LRU lists of pages.
        
        This patch is from Sunny Bains and Heikki Tuuri.
      innobase/os/os0sync.c:
        branches/5.0: Merge r999 from trunk:
        
        Reduce buffer pool mutex contention under >= 4 big concurrent
        CPU-bound SELECT queries.  (Bug #22868)
        
        Fix: replace the mutex by one mutex protecting the 'flush list'
        (and the free list) and several mutexes protecting portions of the
        buffer pool, where we keep several indivudual LRU lists of pages.
        
        This patch is from Sunny Bains and Heikki Tuuri.
      innobase/sync/sync0arr.c:
        branches/5.0: Merge r999 from trunk:
        
        Reduce buffer pool mutex contention under >= 4 big concurrent
        CPU-bound SELECT queries.  (Bug #22868)
        
        Fix: replace the mutex by one mutex protecting the 'flush list'
        (and the free list) and several mutexes protecting portions of the
        buffer pool, where we keep several indivudual LRU lists of pages.
        
        This patch is from Sunny Bains and Heikki Tuuri.
      innobase/sync/sync0rw.c:
        branches/5.0: Merge r999 from trunk:
        
        Reduce buffer pool mutex contention under >= 4 big concurrent
        CPU-bound SELECT queries.  (Bug #22868)
        
        Fix: replace the mutex by one mutex protecting the 'flush list'
        (and the free list) and several mutexes protecting portions of the
        buffer pool, where we keep several indivudual LRU lists of pages.
        
        This patch is from Sunny Bains and Heikki Tuuri.
      innobase/sync/sync0sync.c:
        branches/5.0: Merge r999 from trunk:
        
        Reduce buffer pool mutex contention under >= 4 big concurrent
        CPU-bound SELECT queries.  (Bug #22868)
        
        Fix: replace the mutex by one mutex protecting the 'flush list'
        (and the free list) and several mutexes protecting portions of the
        buffer pool, where we keep several indivudual LRU lists of pages.
        
        This patch is from Sunny Bains and Heikki Tuuri.
      b9eeb9b1
    • unknown's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-4.1 · 48f8153d
      unknown authored
      into  siva.hindu.god:/usr/home/tim/m/bk/41
      
      
      mysql-test/mysql-test-run.pl:
        Manual merge
      48f8153d
    • unknown's avatar
      Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1 · 1cb38d3b
      unknown authored
      into  kahlann.erinye.com:/home/df/mysql/build/mtr-4.1
      
      
      1cb38d3b
    • unknown's avatar
      add --report-features to mysql-test-run.pl · df1b6ae6
      unknown authored
      
      mysql-test/mysql-test-run.pl:
        add --report-features
      mysql-test/include/report-features.test:
        test file showing server features for mysql-test-run.pl --report-features
      df1b6ae6
    • unknown's avatar
      Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-4.1 · cb80733a
      unknown authored
      into  outpost.site:/home/cps/mysql/trees/4.1-runtime-bug9191
      
      
      configure.in:
        Auto merged
      include/my_time.h:
        Auto merged
      mysql-test/r/func_time.result:
        Auto merged
      mysql-test/r/rename.result:
        Auto merged
      mysql-test/t/func_time.test:
        Auto merged
      sql-common/my_time.c:
        Auto merged
      sql/item_timefunc.cc:
        Auto merged
      sql/time.cc:
        Auto merged
      mysql-test/t/rename.test:
        choose one of the race problem solutions. It was solved
        differently in -runtime and mainstream
      cb80733a
    • unknown's avatar
      mysql-test-run.sh: · facaaeb4
      unknown authored
        Added --force-restart pseudo server argument to shell version as well
      
      
      mysql-test/mysql-test-run.sh:
        Added --force-restart pseudo server argument to shell version as well
      facaaeb4
  2. 09 Nov, 2006 1 commit
    • unknown's avatar
      This ChangeSet must be null-merged to 5.0. Applied innodb-4.1-ss33 · 870b2e0a
      unknown authored
      Fixes:
      - Bug #24089: Race condition in fil_flush_file_spaces()
      
      
      innobase/fil/fil0fil.c:
        Applied innodb-4.1-ss33
        
        Revision r33:
        innodb-4.1: Merge r1002 from innodb/trunk:
        
        fil_flush_file_spaces(): Copy the system->unflushed_spaces list to an
        array while holding the mutex.  This removes the crash-triggering
        race condition that was introduced when fixing Bug 15653.  (Bug #24089)
      870b2e0a
  3. 08 Nov, 2006 5 commits
  4. 07 Nov, 2006 7 commits
  5. 06 Nov, 2006 2 commits
  6. 05 Nov, 2006 2 commits
  7. 03 Nov, 2006 2 commits
  8. 02 Nov, 2006 8 commits
  9. 01 Nov, 2006 5 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · 2886e07d
      unknown authored
      into  bodhi.local:/opt/local/work/mysql-4.1-runtime
      
      
      mysql-test/r/ps.result:
        Auto merged
      mysql-test/t/func_gconcat.test:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/item_func.h:
        Auto merged
      sql/item_sum.cc:
        Auto merged
      sql/log_event.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_delete.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_update.cc:
        Auto merged
      2886e07d
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.1-maint · 07978008
      unknown authored
      into  shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
      
      
      07978008
    • unknown's avatar
      Merge 192.168.0.10:mysql/mysql-4.1-maint · bc7b0a2e
      unknown authored
      into  shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
      
      
      bc7b0a2e
    • unknown's avatar
      Fix Bug #9191 "TIMESTAMP/from_unixtime() no longer accepts 2^31-1" · 8a7bc052
      unknown authored
      (4.1 version, with post-review fixes)
        
        The fix for another Bug (6439) limited FROM_UNIXTIME() to
        TIMESTAMP_MAX_VALUE which is 2145916799 or 2037-12-01 23:59:59 GMT,
        however unix timestamp in general is not considered to be limited 
        by this value. All dates up to power(2,31)-1 are valid.
        
        This patch extends allowed TIMESTAMP range so, that max
        TIMESTAMP value is power(2,31)-1. It also corrects
        FROM_UNIXTIME() and UNIX_TIMESTAMP() functions, so that
        max allowed UNIX_TIMESTAMP() is power(2,31)-1. FROM_UNIXTIME()
        is fixed accordingly to allow conversion of dates up to
        2038-01-19 03:14:07 UTC. The patch also fixes CONVERT_TZ()
        function to allow extended range of dates.
        
        The main problem solved in the patch is possible overflows
        of variables, used in broken-time representation to time_t
        conversion (required for UNIX_TIMESTAMP).
      
      
      acinclude.m4:
        Add new macro to check time_t range
      configure.in:
        Call the macro to check time_t range
      include/my_time.h:
        Move time-related defines to proper place.
        Add a function to perform a rough check if
        a TIMESTAMP value fits into the boundaries.
        Note: it is defined as "static inline", as
        otherwise libmysql won't compile (due to the
        way how gcc handles "inline" directive).
      mysql-test/r/func_time.result:
        Update test result
      mysql-test/r/timezone.result:
        Update test result
      mysql-test/r/timezone2.result:
        Update test result
      mysql-test/t/func_time.test:
        Add test for Bug#9191 and update test to be consistent
        with new TIMESTAMP boundaries
      mysql-test/t/timezone.test:
        Update old tests to be consistent
        with new TIMESTAMP boundaries
      mysql-test/t/timezone2.test:
        Update tests for convert_tz to be consistent with new
        TIMESTAMP boundaries
      sql/item_timefunc.cc:
        Fix convert_tz to allow dates from the new (extended)
        TIMESTAMP range
      sql/mysql_priv.h:
        Move time handling defaults to my_time.h
      sql-common/my_time.c:
        Because of increased TIMESTAMP_MAX_VALUE overflows in my_system_gmt_sec()
        became possible. Here we make it safe against the overflows by stepping
        back from the boundary dates which are likely to trigger them.
      sql/time.cc:
        Update TIME_to_timestamp to allow conversion of
        extended date range
      sql/tztime.cc:
        Fix new (4.1) implementation of broken-down time representation
        to time_t conversion routine to avoid overflows during conversion
        of boundary dates
      mysql-test/r/timezone4.result:
        New BitKeeper file ``mysql-test/r/timezone4.result''
      mysql-test/t/timezone4-master.opt:
        New BitKeeper file ``mysql-test/t/timezone4-master.opt''
      mysql-test/t/timezone4.test:
        New BitKeeper file ``mysql-test/t/timezone4.test''
      8a7bc052
    • unknown's avatar
      Merge kpdesk.mysql.com:/home/thek/dev/bug22828/my41-bug22828 · 2d1215f4
      unknown authored
      into  kpdesk.mysql.com:/home/thek/dev/mysql-4.1-maint
      
      
      mysys/my_chsize.c:
        Auto merged
      2d1215f4
  10. 31 Oct, 2006 2 commits
    • unknown's avatar
      Improve the reading of .pid files from var/run · aa8c830d
      unknown authored
       - Only read *.pid
       - Only allow it to contain a number 
      
      
      mysql-test/lib/mtr_io.pl:
        Check that the value read from pidfile is a valid number consisting only of digits
      mysql-test/lib/mtr_process.pl:
        Only process .pid files in var/run dir and print a warning if other files are found there.
      aa8c830d
    • unknown's avatar
      Make variables static to please Netware compiler · 8e0113be
      unknown authored
      
      client/mysqltest.c:
        Make the variables that are referenced from the "command_arg" arrays static to please the NetWare compiler.
        Apparently the arrays can't reference local stack variables.
      8e0113be