1. 10 Nov, 2006 6 commits
    • unknown's avatar
      Backport patch of bugfix for: · 428a5e2a
      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.
      428a5e2a
    • unknown's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-4.1 · 4336c682
      unknown authored
      into  siva.hindu.god:/usr/home/tim/m/bk/41
      
      
      mysql-test/mysql-test-run.pl:
        Manual merge
      4336c682
    • unknown's avatar
      Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1 · 8bde499f
      unknown authored
      into  kahlann.erinye.com:/home/df/mysql/build/mtr-4.1
      
      8bde499f
    • unknown's avatar
      add --report-features to mysql-test-run.pl · 92131d1f
      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
      92131d1f
    • unknown's avatar
      Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-4.1 · 1f34f659
      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
      1f34f659
    • unknown's avatar
      mysql-test-run.sh: · 921746a8
      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
      921746a8
  2. 09 Nov, 2006 1 commit
    • unknown's avatar
      This ChangeSet must be null-merged to 5.0. Applied innodb-4.1-ss33 · bfccf21d
      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)
      bfccf21d
  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 · b6102f67
      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
      b6102f67
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.1-maint · 99d05f25
      unknown authored
      into  shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
      
      99d05f25
    • unknown's avatar
      Merge 192.168.0.10:mysql/mysql-4.1-maint · 1001be57
      unknown authored
      into  shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
      
      1001be57
    • unknown's avatar
      Fix Bug #9191 "TIMESTAMP/from_unixtime() no longer accepts 2^31-1" · a0a405ae
      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''
      a0a405ae
    • unknown's avatar
      Merge kpdesk.mysql.com:/home/thek/dev/bug22828/my41-bug22828 · 6ff6d781
      unknown authored
      into  kpdesk.mysql.com:/home/thek/dev/mysql-4.1-maint
      
      
      mysys/my_chsize.c:
        Auto merged
      6ff6d781
  10. 31 Oct, 2006 2 commits
    • unknown's avatar
      Improve the reading of .pid files from var/run · d10be7c1
      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.
      d10be7c1
    • unknown's avatar
      Make variables static to please Netware compiler · a87a6b46
      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.
      a87a6b46