1. 22 Mar, 2009 2 commits
    • Michael Widenius's avatar
      Merge with trunk · 032ef1fa
      Michael Widenius authored
      032ef1fa
    • Michael Widenius's avatar
      Apply patch by Antony Dovgal: · 46db8aac
      Michael Widenius authored
      - Move SAFE_MUTEX to be stored in config.h by configure.in (not as a flag used with compiler command line)
      - Generate my_config.h in configure
      
      BUILD/SETUP.sh:
        Remove -DSAFE_MUTEX as the following --with-debug flag will automaticly add it
      BUILD/compile-ia64-debug-max:
        Remove -DSAFE_MUTEX as the following --with-debug flag will automaticly add it
      configure.in:
        Move SAFE_MUTEX and SAFE_MALLOC to [my_] config.h
        Generate my_config.h as part of configure process
      dbug/dbug.c:
        Include my_global.h before we undef SAFE_MUTEX
      include/Makefile.am:
        Update comment. For now, lets generate my_config.h if someone deletes it after configure
      mysys/my_wincond.c:
        Include my_global.h before we undef SAFE_MUTEX
      mysys/my_winthread.c:
        Include my_global.h before we undef SAFE_MUTEX
      46db8aac
  2. 20 Mar, 2009 5 commits
    • unknown's avatar
      Merge · 90151609
      unknown authored
      90151609
    • unknown's avatar
      Remove redundant code, probably bad automerge · 30f41550
      unknown authored
      30f41550
    • unknown's avatar
      BUG#43418: MTR2: does not notice a memory leak occuring at shutdown of · 8193c327
      unknown authored
      mysqld w/ --valgrind
      
       - Fixed by implementing parsing of error log messages generated outside of
         test case runs (eg. during server shutdown).
      
      Also make mysql-test-run.pl not delete the error log after server restart,
      which looses information about which warnings were found.
      
      Finally, make multi_update2 a --big test.
      
      mysql-test/lib/My/Test.pm:
        Fix home-brewed (and broken) serialization in My::Test to use the standard
        Storable serializer.
      mysql-test/mysql-test-run.pl:
         - Stop mysqld servers gracefully rather than kill -9 when
           warnings are being checked.
        
         - After stopping mysqld servers, do an additional parse of the error
           log to check for any warnings generated during shutdown.
          
         - Fix error log parsing to be careful not to skip parsing part of the
           file, by keeping track of previous file position rather than
           relying on mark_log markers.
        
         - Workers report warnings during shutdown to the master process with
           a new packet 'WARNINGS' which includes a list of names of test that
           might have caused the problem (could be any test run since last
           server start).
          
         - Fail entire test suite if warnings are found.
        
         - When we remove the server data dir before server restart, preserve the
           error log (don't delete it between restarts), as it may contain
           valuable information even for test cases which don't show direct
           failures.
      mysql-test/t/multi_update2.test:
        Make test --big, as it takes a _long_ time to run and only tests a single bug.
      8193c327
    • Michael Widenius's avatar
      Merge with trunk · 806ec1b0
      Michael Widenius authored
      806ec1b0
    • Michael Widenius's avatar
      Avoid compiler warnings on windows · 4dc093ce
      Michael Widenius authored
      include/config-win.h:
        Added missing typedef ssize_t
        Added some other useful defines from MySQL 6.0
      unittest/mysys/waiting_threads-t.c:
        Fixed link failure for 'ftruncate' on Windows
      4dc093ce
  3. 18 Mar, 2009 3 commits
    • unknown's avatar
      Add testing of extra port for pool-of-threads. · ce956c8f
      unknown authored
      The additional test uses up all threads in the pool with SELECT
      SLEEP(), and tests that this makes normal connections block, but
      connections on the extra port still work.
      
      Also test connection limit on extra port with and without
      pool-of-threads enabled.
      
      Add --connect-timeout option to mysqltest program.
      
      Add facility for --extra-port option to ConfigFactory.
      
      Fix regexp typo in ConfigFactory.pm
      ce956c8f
    • Michael Widenius's avatar
      Ignore generated file event-config.h · 2611d3c0
      Michael Widenius authored
      2611d3c0
    • Michael Widenius's avatar
      Added mariadb and mariadb-version as my.conf option tags · 4c83c570
      Michael Widenius authored
      Fixed compiler error when configuring without --lib-event
      
      include/mysql_version.h.in:
        Added mariadb-'version' as a my.cnf option tag for mysqld
      sql/mysqld.cc:
        Added mariadb and mariadb-version as my.conf option tags
      4c83c570
  4. 17 Mar, 2009 1 commit
    • unknown's avatar
      Fixed bug of waiting for flush pass end. · 36252821
      unknown authored
      storage/maria/ma_loghandler.c:
        Fixed bug of waiting for flush pass end: in case of two sequential flushes waiting thread can not detect end of the pass it is waiting because till the time it will check the flush in progress flag will be set on again. Solution is to have pass number and compare the number before before waits start and check it as condition of the flush pass end (of course it does not matter if the counter of pass number overflows).
      36252821
  5. 13 Mar, 2009 1 commit
  6. 12 Mar, 2009 2 commits
    • Michael Widenius's avatar
      Added missing fix from last commit · 67579fd2
      Michael Widenius authored
      67579fd2
    • Michael Widenius's avatar
      Added "pool-of-threads" handling (with libevent) · 4fe34250
      Michael Widenius authored
      This is a backport of code from MySQL 6.0 with cleanups and extensions
      
      The following new options are supported
      configure options:
        --with-libevent                  ; Enable use of libevent, which is needed for pool of threads
      
      mysqld options:
      --thread-handling=pool-of-threads  ; Use a pool of threads to handle queries
      --thread-pool-size=#               ; Define how many threads should be created to handle all queries
      --extra-port=#                     ; Extra tcp port that uses the old one-thread-per-connection method
      --extra-max-connections=#          ; Number of connections to accept to 'extra-port'
      --test-ignore-wrong-options        ; Ignore setting an enum value to a wrong option (for mysql-test-run)
      
      
      
      BUILD/SETUP.sh:
        Added libevents (and thus pool-of-threads) to max builds
      CMakeLists.txt:
        Added libevent
      Makefile.am:
        Added libevents
      config/ac-macros/libevent.m4:
        Libevent code for configure
      config/ac-macros/libevent_configure.m4:
        Libevent code for configure
      configure.in:
        Added libevents
      dbug/dbug.c:
        Added _db_is_pushed(); Needed for pool-of-threads code
      extra/Makefile.am:
        Added libevents
      extra/libevent:
        Libevent initial code
      extra/libevent/CMakeLists.txt:
        Libevent initial code
      extra/libevent/Makefile.am:
        Libevent initial code
      extra/libevent/README:
        Libevent initial code
      extra/libevent/WIN32-Code:
        Libevent initial code
      extra/libevent/WIN32-Code/config.h:
        Libevent initial code
      extra/libevent/WIN32-Code/misc.c:
        Libevent initial code
      extra/libevent/WIN32-Code/misc.h:
        Libevent initial code
      extra/libevent/WIN32-Code/tree.h:
        Libevent initial code
      extra/libevent/WIN32-Code/win32.c:
        Libevent initial code
      extra/libevent/buffer.c:
        Libevent initial code
      extra/libevent/compat:
        Libevent initial code
      extra/libevent/compat/sys:
        Libevent initial code
      extra/libevent/compat/sys/_time.h:
        Libevent initial code
      extra/libevent/compat/sys/queue.h:
        Libevent initial code
      extra/libevent/compat/sys/tree.h:
        Libevent initial code
      extra/libevent/devpoll.c:
        Libevent initial code
      extra/libevent/epoll.c:
        Libevent initial code
      extra/libevent/epoll_sub.c:
        Libevent initial code
      extra/libevent/evbuffer.c:
        Libevent initial code
      extra/libevent/evdns.c:
        Libevent initial code
      extra/libevent/evdns.h:
        Libevent initial code
      extra/libevent/event-config.h:
        Libevent initial code
      extra/libevent/event-internal.h:
        Libevent initial code
      extra/libevent/event.c:
        Libevent initial code
      extra/libevent/event.h:
        Libevent initial code
      extra/libevent/event_tagging.c:
        Libevent initial code
      extra/libevent/evhttp.h:
        Libevent initial code
      extra/libevent/evport.c:
        Libevent initial code
      extra/libevent/evrpc-internal.h:
        Libevent initial code
      extra/libevent/evrpc.c:
        Libevent initial code
      extra/libevent/evrpc.h:
        Libevent initial code
      extra/libevent/evsignal.h:
        Libevent initial code
      extra/libevent/evutil.c:
        Libevent initial code
      extra/libevent/evutil.h:
        Libevent initial code
      extra/libevent/http-internal.h:
        Libevent initial code
      extra/libevent/http.c:
        Libevent initial code
      extra/libevent/kqueue.c:
        Libevent initial code
      extra/libevent/log.c:
        Libevent initial code
      extra/libevent/log.h:
        Libevent initial code
      extra/libevent/min_heap.h:
        Libevent initial code
      extra/libevent/poll.c:
        Libevent initial code
      extra/libevent/select.c:
        Libevent initial code
      extra/libevent/signal.c:
        Libevent initial code
      extra/libevent/strlcpy-internal.h:
        Libevent initial code
      extra/libevent/strlcpy.c:
        Libevent initial code
      include/config-win.h:
        Libevent support
      include/my_dbug.h:
        ADded _db_is_pushed
      include/mysql.h.pp:
        Update to handle new prototypes
      include/typelib.h:
        Split find_type_or_exit() into two functions
      include/violite.h:
        Added vio_is_pending()
      libmysqld/Makefile.am:
        Added libevent
      mysql-test/include/have_pool_of_threads.inc:
        Added test for pool-of-threads
      mysql-test/mysql-test-run.pl:
        Don't abort based on time and don't retry test cases when run under --gdb or --debug
      mysql-test/r/crash_commit_before.result:
        USE GLOBAL for debug variable
      mysql-test/r/have_pool_of_threads.require:
        Added test for pool-of-threads
      mysql-test/r/pool_of_threads.result:
        Added test for pool-of-threads
      mysql-test/r/subselect_debug.result:
        USE GLOBAL for debug variable
      mysql-test/t/crash_commit_before.test:
        USE GLOBAL for debug variable
      mysql-test/t/merge-big.test:
        USE GLOBAL for debug variable
      mysql-test/t/pool_of_threads-master.opt:
        Added test for pool-of-threads
      mysql-test/t/pool_of_threads.test:
        Added test for pool-of-threads
      mysys/typelib.c:
        Split find_type_or_exit() into find_type_with_warning()
      sql/Makefile.am:
        Added libevent
      sql/handler.cc:
        Indentation fix.
        Fixed memory loss bug
        Fixed crash on exit when handler plugin failed
      sql/mysql_priv.h:
        Added extra_max_connections and mysqld_extra_port
        Added extern functions from sql_connect.cc
      sql/mysqld.cc:
        Added support for new mysqld options
        Added code for 'extra-port' and 'extra-max-connections'
        Split some functions into smaller pieces to be able to reuse code
        Added code for test-ignore-wrong-options
      sql/scheduler.cc:
        Updated schduler code from MySQL 6.0
      sql/scheduler.h:
        Updated schduler code from MySQL 6.0
      sql/set_var.cc:
        Added support for changing "extra_max_connections"
      sql/sql_class.cc:
        Iniitalize thread schduler options in THD
      sql/sql_class.h:
        Added to extra_port and scheduler to 'THD'
      sql/sql_connect.cc:
        Use thd->schduler to check number of connections and terminate connection
        Made some local functions global (for scheduler.cc)
      vio/viosocket.c:
        Added 'vio_pending', needed for scheduler..c
      4fe34250
  7. 09 Mar, 2009 1 commit
  8. 05 Mar, 2009 1 commit
  9. 04 Mar, 2009 2 commits
  10. 19 Feb, 2009 1 commit
    • Michael Widenius's avatar
      Merge with mysql-maria tree · 945fa0d9
      Michael Widenius authored
      mysql-test/t/variables.test:
        Reset delay_key_write, otherwise maria.maria test may fail
      sql/set_var.cc:
        Reset ha_open_options if one resets the delay_key_write variable.
        Before there was no way to reset it without restarting mysqld, which caused some tests to fail
      945fa0d9
  11. 18 Feb, 2009 1 commit
  12. 15 Feb, 2009 1 commit
  13. 13 Feb, 2009 1 commit
  14. 12 Feb, 2009 5 commits
    • Guilhem Bichot's avatar
      merge from latest 5.1-maria · b3ea683c
      Guilhem Bichot authored
      b3ea683c
    • Guilhem Bichot's avatar
      998b4ae5
    • Guilhem Bichot's avatar
      Fixing problems of previous 5.1-main->5.1-maria merge: · b90ff534
      Guilhem Bichot authored
      - adding back Serg's "mtr --list-options"
      - safe_mutex deadlock detector started raising wrong deadlock warnings, fixed
      here by a backport from 6.0-main.
      
      include/my_pthread.h:
        Porting changes done to 6.0-main which satisfy the safe_mutex deadlock detector (those
        in 5.1-main don't), see chad@mysql.com-20090126155607-n0j3zbmgbfepnmmo for explanations
      mysql-test/mysql-test-run.pl:
        adding back Serg's --list-options
      mysys/my_init.c:
        Porting changes done to 6.0-main which satisfy the safe_mutex deadlock detector (those
        in 5.1-main don't), see chad@mysql.com-20090126155607-n0j3zbmgbfepnmmo for explanations
      mysys/my_thr_init.c:
        Porting changes done to 6.0-main which satisfy the safe_mutex deadlock detector (those
        in 5.1-main don't), see chad@mysql.com-20090126155607-n0j3zbmgbfepnmmo for explanations
      b90ff534
    • Guilhem Bichot's avatar
      merge of 5.1-main into 5.1-maria. Myisam->Maria change propagation will follow. · 704b4845
      Guilhem Bichot authored
      There were so many changes into mtr (this is the new mtr coming) that I rather
      copied mtr from 6.0-main here (at least this one knows how to run Maria tests).
      I also fixed suite/maria tests to be accepted by the new mtr.
      
      mysys/thr_mutex.c:
        adding DBUG_PRINT here, so that we can locate where the warning is issued.
      704b4845
    • Sergei Golubchik's avatar
      Bug#41092 Maria: timeout in waiting_threads-t · ce8f55fe
      Sergei Golubchik authored
      it was bug in a test program, changed WT_THD's initialization to ensure they have no garbage from the previous run.
      ce8f55fe
  15. 11 Feb, 2009 1 commit
  16. 10 Feb, 2009 2 commits
  17. 09 Feb, 2009 3 commits
    • Guilhem Bichot's avatar
      Callers of translog_deassign_id_from_share() need intern_lock. · 9653feb1
      Guilhem Bichot authored
      Assert that keys don't point to bitmap pages.
      
      storage/maria/ma_blockrec.h:
        assertion
      storage/maria/ma_locking.c:
        With concurrent INSERTs, it is possible that two threads enter _ma_mark_file_changed()
        at the same time, so they should serialize their access to the "changed" state/share
        members; another reason is that this function may call _ma_update_state_lsns_sub()
        which may call translog_deassign_id_from_share() (I saw it during testing of
        online backup) which requires the intern_lock mutex.
        As INSERTs only change from "not changed" to "changed", we can first check without mutex:
        if it says "changed", some other thread has set or is setting the variables now,
        we don't need to do it; if it says "not changed", we serialize and re-check.
      9653feb1
    • Guilhem Bichot's avatar
      Comments. Take bitmap mutex lock when changing bitmap.changed. · 554eb6c2
      Guilhem Bichot authored
      storage/maria/ha_maria.cc:
        comment
      storage/maria/ma_checkpoint.c:
        comment
      storage/maria/ma_extra.c:
        use bitmap mutex when changing bitmap.changed, sounds safer
      storage/maria/ma_pagecache.c:
        comment
      storage/maria/ma_recovery.c:
        comments
      554eb6c2
    • Guilhem Bichot's avatar
      merge with latest 5.1-maria · 790fbc56
      Guilhem Bichot authored
      790fbc56
  18. 06 Feb, 2009 1 commit
  19. 05 Feb, 2009 1 commit
  20. 04 Feb, 2009 2 commits
  21. 03 Feb, 2009 2 commits
  22. 02 Feb, 2009 1 commit