1. 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
  2. 13 Mar, 2009 1 commit
  3. 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
  4. 09 Mar, 2009 1 commit
  5. 05 Mar, 2009 1 commit
  6. 04 Mar, 2009 2 commits
  7. 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
  8. 18 Feb, 2009 1 commit
  9. 15 Feb, 2009 1 commit
  10. 13 Feb, 2009 1 commit
  11. 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
  12. 11 Feb, 2009 1 commit
  13. 10 Feb, 2009 2 commits
  14. 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
  15. 06 Feb, 2009 1 commit
  16. 05 Feb, 2009 1 commit
  17. 04 Feb, 2009 2 commits
  18. 03 Feb, 2009 2 commits
  19. 02 Feb, 2009 9 commits
    • Patrick Crews's avatar
      merge 5.0 -> 5.1 · a07a7afe
      Patrick Crews authored
      a07a7afe
    • Patrick Crews's avatar
      Bug#39369: execution of "variables.test" with "check-testcases" show differences. · 9a3afd1a
      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
      9a3afd1a
    • Serge Kozlov's avatar
      Bug#38603: · 84a237b9
      Serge Kozlov authored
      The patch adds restart of mysql server and replacing of binlog file 
      when mysql server is stopped.
      84a237b9
    • Andrei Elkin's avatar
      Bug #41732 rpl_ndb_circular_2ch needs an updated configuration file · d34ae8c7
      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.
      d34ae8c7
    • Tatiana A. Nurnberg's avatar
      auto-merge · 9186df24
      Tatiana A. Nurnberg authored
      9186df24
    • Alexander Barkov's avatar
      Bug#41084 full-text index added to custom UCA collation not working · 9a64fc52
      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.
      9a64fc52
    • Tatiana A. Nurnberg's avatar
      auto-merge · a73d9f3f
      Tatiana A. Nurnberg authored
      a73d9f3f
    • Serge Kozlov's avatar
      post-merge push with patch for rpl_ndb_log · da44c301
      Serge Kozlov authored
      da44c301
    • Serge Kozlov's avatar
      Post-merge patch for extra/rpl_test/rpl_log.test: · 56fa0959
      Serge Kozlov authored
      Remove size of binlog file from SHOW BINARY LOGS. 
      Changing size of binlog file is an affect of adding or removing events to/from
      binlog and it can be checked in next command of test: SHOW BINLOG EVENTS.
      For SHOW BINARY LOGS statement enough to show the list of file names.
      56fa0959