1. 20 Mar, 2009 3 commits
    • unknown's avatar
      BUG#43418: MTR2: does not notice a memory leak occuring at shutdown of · 965c0870
      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.
      965c0870
    • Michael Widenius's avatar
      Merge with trunk · 5941c954
      Michael Widenius authored
      5941c954
    • Michael Widenius's avatar
      Avoid compiler warnings on windows · 1e6cd181
      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
      1e6cd181
  2. 18 Mar, 2009 3 commits
    • unknown's avatar
      Add testing of extra port for pool-of-threads. · 01cf43c9
      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
      01cf43c9
    • Michael Widenius's avatar
      Ignore generated file event-config.h · 9d29ed5d
      Michael Widenius authored
      9d29ed5d
    • Michael Widenius's avatar
      Added mariadb and mariadb-version as my.conf option tags · cec86f8f
      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
      cec86f8f
  3. 13 Mar, 2009 1 commit
  4. 12 Mar, 2009 2 commits
    • Michael Widenius's avatar
      Added missing fix from last commit · b2fb0601
      Michael Widenius authored
      b2fb0601
    • Michael Widenius's avatar
      Added "pool-of-threads" handling (with libevent) · 67a0eb64
      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
      67a0eb64
  5. 09 Mar, 2009 1 commit
  6. 05 Mar, 2009 1 commit
  7. 04 Mar, 2009 2 commits
  8. 19 Feb, 2009 1 commit
    • Michael Widenius's avatar
      Merge with mysql-maria tree · 48ac6a08
      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
      48ac6a08
  9. 18 Feb, 2009 1 commit
  10. 15 Feb, 2009 1 commit
  11. 13 Feb, 2009 1 commit
  12. 12 Feb, 2009 5 commits
    • Guilhem Bichot's avatar
      merge from latest 5.1-maria · dc0102b5
      Guilhem Bichot authored
      dc0102b5
    • Guilhem Bichot's avatar
      945f2509
    • Guilhem Bichot's avatar
      Fixing problems of previous 5.1-main->5.1-maria merge: · 54cffbe1
      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
      54cffbe1
    • Guilhem Bichot's avatar
      merge of 5.1-main into 5.1-maria. Myisam->Maria change propagation will follow. · 3cf3f972
      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.
      3cf3f972
    • Sergei Golubchik's avatar
      Bug#41092 Maria: timeout in waiting_threads-t · 049b6054
      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.
      049b6054
  13. 11 Feb, 2009 1 commit
  14. 10 Feb, 2009 2 commits
  15. 09 Feb, 2009 3 commits
    • Guilhem Bichot's avatar
      Callers of translog_deassign_id_from_share() need intern_lock. · 3d345b74
      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.
      3d345b74
    • Guilhem Bichot's avatar
      Comments. Take bitmap mutex lock when changing bitmap.changed. · 7b3fae7d
      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
      7b3fae7d
    • Guilhem Bichot's avatar
      merge with latest 5.1-maria · 546825b9
      Guilhem Bichot authored
      546825b9
  16. 06 Feb, 2009 1 commit
  17. 05 Feb, 2009 1 commit
  18. 04 Feb, 2009 2 commits
  19. 03 Feb, 2009 2 commits
  20. 02 Feb, 2009 6 commits
    • Patrick Crews's avatar
      merge 5.0 -> 5.1 · 247571de
      Patrick Crews authored
      247571de
    • Patrick Crews's avatar
      Bug#39369: execution of "variables.test" with "check-testcases" show differences. · 039f51a0
      Patrick Crews authored
      The original symptoms of this bug have been fixed as a consequence of other bug fixes.
      Taking this time to correct some formatting, such as replacing error numbers with names.
      Beginning this with 5.0
      039f51a0
    • Serge Kozlov's avatar
      Bug#38603: · 63cd72bf
      Serge Kozlov authored
      The patch adds restart of mysql server and replacing of binlog file 
      when mysql server is stopped.
      63cd72bf
    • Andrei Elkin's avatar
      Bug #41732 rpl_ndb_circular_2ch needs an updated configuration file · 1f8b037b
      Andrei Elkin authored
      There are two issues: 
            1. 6.0 uses the obsolate master-*** server options;
            2. the test is not deterministic in that although master vs slave consistency is
               fine, two runs of the test can have different results. The reason of the
               non-determinism is the combination of 
               a chosen way to demo results and the ndb_autoincrement_prefetch_sz feature.
      
      The current patch fixes the 2nd issue by putting out results via diff_table macro
      instead of the former run-sensitive method.
      The 1st issue is going to be fixed by a separate patch to 6.0.
      
      mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result:
        results changed
      mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test:
        Test is refined to put out results via diff_table macro instead of the former run-sensitive
        method.
      1f8b037b
    • Tatiana A. Nurnberg's avatar
      auto-merge · 3616b321
      Tatiana A. Nurnberg authored
      3616b321
    • Alexander Barkov's avatar
      Bug#41084 full-text index added to custom UCA collation not working · 562757a4
      Alexander Barkov authored
      Problem:
      Custom UCA collations didn't set the MY_CS_STRNXFRM flag,
      which resulted in "prefix_search" method instead of
      the required "seq_search".
      
      Problem2: (not metioned in the bug report)
      Custom UCA collations didn't also set the MY_CS_UNICODE flag,
      so an attempt to compare a column with a custom UCA collation
      to another column with a non-Unicode character set led to
      the "illegal mix of collation" error.
      
      Fix:
      the two missing flags was added into collation initialization.
      
        Upgrade:
      
        - All fulltext indexes with custom UCA collations should be rebuilt.
      
        - Non-fulltext custom UCA indexes should likely be rebuild as well.
      562757a4