1. 12 Mar, 2009 1 commit
    • 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
  2. 09 Mar, 2009 1 commit
  3. 05 Mar, 2009 1 commit
  4. 04 Mar, 2009 2 commits
  5. 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
  6. 18 Feb, 2009 1 commit
  7. 15 Feb, 2009 1 commit
  8. 13 Feb, 2009 1 commit
  9. 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
  10. 11 Feb, 2009 1 commit
  11. 10 Feb, 2009 2 commits
  12. 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
  13. 06 Feb, 2009 1 commit
  14. 05 Feb, 2009 1 commit
  15. 04 Feb, 2009 2 commits
  16. 03 Feb, 2009 2 commits
  17. 02 Feb, 2009 14 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
    • Georgi Kodinov's avatar
      fixed system_mysql_db_fix30020 test faiilure · 8fe7b7ef
      Georgi Kodinov authored
      fixed federated warnings
      8fe7b7ef
    • Sergey Glukhov's avatar
      automerge · c08fe021
      Sergey Glukhov authored
      c08fe021
    • Bjorn Munch's avatar
      merge · 9128d3b7
      Bjorn Munch authored
      9128d3b7
    • Sergey Glukhov's avatar
      fixed jp test failures · 921a4e5e
      Sergey Glukhov authored
      mysql-test/suite/jp/r/jp_create_db_sjis.result:
        hide mtr database
      mysql-test/suite/jp/r/jp_create_db_ucs2.result:
        hide mtr database
      mysql-test/suite/jp/r/jp_create_db_ujis.result:
        hide mtr database
      mysql-test/suite/jp/r/jp_create_db_utf8.result:
        hide mtr database
      mysql-test/suite/jp/t/jp_create_db_sjis.test:
        hide mtr database
      mysql-test/suite/jp/t/jp_create_db_ucs2.test:
        hide mtr database
      mysql-test/suite/jp/t/jp_create_db_ujis.test:
        hide mtr database
      mysql-test/suite/jp/t/jp_create_db_utf8.test:
        hide mtr database
      921a4e5e
    • Bjorn Munch's avatar
      Bug #42535 MTR2 output format for skipped tests should be identical to MTR 1 · d3f4c75e
      Bjorn Munch authored
      Changed [ skip ] to [ skipped ] and removed optional .
      d3f4c75e