1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-30 11:22:14 +03:00
Commit Graph

1331 Commits

Author SHA1 Message Date
Michael Widenius
210a412522 bzr merge from guilhem's maria tree to our local 5.1
configure.in:
  Manually merged
mysql-test/lib/My/ConfigFactory.pm:
  Manually merged
mysql-test/mysql-test-run.pl:
  Manually merged
mysql-test/t/information_schema.test:
  Manually merged
sql/handler.cc:
  Manually merged
support-files/mysql.spec.sh:
  Manually merged
2009-04-25 12:04:38 +03:00
unknown
c558b3e068 Fix Valgrind errors seen in buildbot.
Fix mysql-test-run.pl to not terminate early when warnings in error logs are detected during
server shutdown. Instead, give a nice summary report at the end of the failures.

Fix code to make 100% sure no failures will go undetected.

Revert earlier wrong change.

Fix race with port allocation semaphore file permissions.

Adjust testsuite to copy with new PBXT engine now in the tree. The PBXT engine causes an
extra table to appear in the INFORMATION_SCHEMA. This causes different output for a few
test cases.

dbug/dbug.c:
  If DbugParse() is called multiple times, the stack->keywords for the
  top stack frame could be overwritten without being freed, causing a
  memory leak reported by Valgrind.
include/my_global.h:
  Add useful macro for different values when Valgrind (HAVE_purify) and not.
mysql-test/extra/rpl_tests/rpl_auto_increment.test:
  Omit pbxt variables from show variables output.
mysql-test/include/have_pbxt.inc:
  Add facility to disable test if PBXT engine is not available.
mysql-test/lib/mtr_report.pm:
  Give a nice summary report at the end of tests of any warnings seen in logs during
  server shutdowns.
mysql-test/lib/mtr_unique.pm:
  Move chmod 777 to greatly reduce the risk of leaving the port semaphore file unaccessible
  bu other users.
mysql-test/mysql-test-run.pl:
  Don't abort in case of warnings detected, instead give a nice summary report.
  
  Fix code to make 100% sure no failures will go undetected.
  
  Revert earlier wrong change when master disconnects early.
mysql-test/r/information_schema.result:
  Omit PBXT INFORMATION_SCHEMA table from output.
  Move part of test to information_schema_all_engines.
mysql-test/r/information_schema_all_engines.result:
  New file for information_schema tests that depend on which engines are available.
mysql-test/r/information_schema_db.result:
  Move part of test to information_schema_all_engines.
mysql-test/r/innodb-autoinc.result:
  Omit pbxt variables from show variables output.
mysql-test/r/mysqlshow.result:
  Move part of test to information_schema_all_engines.
mysql-test/suite/rpl/r/rpl_auto_increment.result:
  Omit pbxt variables from show variables output.
mysql-test/t/information_schema.test:
  Omit PBXT INFORMATION_SCHEMA table from output.
  Move part of test to information_schema_all_engines.
mysql-test/t/information_schema_all_engines.test:
  New file for information_schema tests that depend on which engines are available.
mysql-test/t/information_schema_db.test:
  Move part of test to information_schema_all_engines.
mysql-test/t/innodb-autoinc.test:
  Omit pbxt variables from show variables output.
mysql-test/t/mysqlshow.test:
  Move part of test to information_schema_all_engines.
mysql-test/valgrind.supp:
  Add variant suppression (different system library versions).
  Add suppression for problem with inet_ntoa().
sql/mysqld.cc:
  Fix missing DBUG_RETURN.
  Fix uninitialised thd->connect_utime, likely introduced by pool_of_threads.
sql/set_var.cc:
  Fix one-byte buffer overflow in several places.
  Fix unsafe use of String::c_ptr() of stack-allocated String buffer.
sql/sql_select.cc:
  Silence valgrind warning due to GCC bug.
sql/sql_string.h:
  Document potential problem with String::c_ptr() and String() constructor with caller-supplied buffer.
storage/archive/azio.c:
  Silence Valgrind false warning for libz.
2009-04-08 18:55:26 +02:00
Guilhem Bichot
c71aae73f6 merge of 5.1-main into 5.1-maria. MyISAM changes are propagated to Maria except
those of davi.arnaut@sun.com-20090219210935-9vilvcisyyieffxl (TODO).
2009-04-01 11:34:52 +02:00
unknown
8193c32743 BUG#43418: MTR2: does not notice a memory leak occuring at shutdown of
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.
2009-03-20 15:18:22 +01:00
Michael Widenius
4fe3425009 Added "pool-of-threads" handling (with libevent)
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
2009-03-13 00:27:35 +02:00
Guilhem Bichot
b0fcbc84ef merge of 5.1-main into 5.1-maria; MyISAM changes are also ported to Maria. 2009-03-11 16:32:42 +01:00
Georgi Kodinov
fb36c97705 merged 5.1-main -> 5.1-bugteam 2009-03-11 15:03:25 +02:00
Bjorn Munch
4cab491915 Bug #43410 --skip-core-file has no effect if core file size is set
Would not prevent mysqld from core dumping
Passes --nocore arg to safe_process, which then sets rlimit core to 0 for child
2009-03-09 14:31:39 +01:00
Georgi Kodinov
fac9dee474 merged 5.1-main -> 5.1-pe-stage 2009-03-09 12:52:08 +02:00
Daniel Fischer
7a6133c77d merge from parent 2009-03-09 11:33:08 +01:00
Daniel Fischer
a0aa574d31 merge 42888 to 5.1-mtr 2009-03-09 11:11:27 +01:00
Bjorn Munch
9c636e6bef merge from 5.1 main 2009-03-07 20:42:11 +01:00
Bjorn Munch
6c2c23d341 merge 42797 2009-03-04 16:41:45 +01:00
Bjorn Munch
65074b23c2 Bug #42986 MTR2 should not allow 0 as a value for --parallel
Add sanity check that $opt_parallel > 0
2009-03-04 12:12:57 +01:00
Bjorn Munch
60dd4e8da4 Bug #43132 Pusbbuild 2 host sol10 sparc64 max is not running tests due to port unavailble
MTR gives up if wanted port not available
Try next range if set to 'auto'
Also, use next number for additional threads if explicitly set
2009-03-04 11:34:47 +01:00
Bjorn Munch
6293a2ea93 Bug #40978 Error log gets truncated during testsuite, prevents debugging
Error log gets truncated when mysqld is restarted by MTR

mysql-test/include/check-warnings.test:
  Since server doesn't have log-error, get it from env. var. set by MTR
mysql-test/lib/My/ConfigFactory.pm:
  "Hide" log-error in a comment
mysql-test/mysql-test-run.pl:
  "Hide" log-error in my.cnf by comment
  add --console to arguments on Windows
  Move .err file to var/log
2009-03-02 13:48:35 +01:00
Bjorn Munch
0900851646 Bug #43256 Bug#39026 got re-surrected
Problems with use of share/mysql dir
Explicitly look for "english" language file
2009-02-27 13:07:01 +01:00
Ingo Struewing
9573707ffa Bug#40446 - mysql-test-run --gcov is broken
Some variable values were missing and perl constructs failed.

Initialized the variables and refactored the gcov functions.


.bzrignore:
  Bug#40446 - mysql-test-run --gcov is broken
  Added gcov log files.
mysql-test/lib/mtr_gcov.pl:
  Bug#40446 - mysql-test-run --gcov is broken
  Refactored the gcov functions.
mysql-test/mysql-test-run.pl:
  Bug#40446 - mysql-test-run --gcov is broken
  Initialized gcov variables.
  Added usage information.
2009-02-27 12:20:53 +01:00
Daniel Fischer
fff57e9dfc address review comments 2009-02-25 15:00:17 +01:00
Daniel Fischer
bde5f92b31 Bug#42888 for MySQL 5.1. Add collections of test runs to make it both configurable and transparent what kinds of tests we run during integration testing. Implement filter list in mysql-test-run.pl to filter out failures of experimental test cases, using a new status code "exp-fail", so we can tell regressions ("fail") from failures of test cases that are still in development ("exp-fail"). 2009-02-24 12:53:34 +01:00
Magnus Svensson
c7d0de3706 Bug#43112 mtr.pl --embedded fails to stop cluster processes 2009-02-23 15:52:23 +01:00
Michael Widenius
945fa0d913 Merge with mysql-maria tree
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
2009-02-19 11:01:25 +02:00
Michael Widenius
a8fdaa6f2c Merge with base MySQL 5.1
Contains fixes for test cases
Changed release tag to beta

configure.in:
  change release tag to beta
2009-02-15 12:58:34 +02:00
Rafal Somla
bdbe393db1 Modifications to MTR and mysqltest to improve feedback from the latter when
testcase checks are made.
      
MTR spawns mysqltest to run check-testcase test before and after each testcase 
it runs. It can also run check-warnings using mysqltest. Since it happened on PB 
that these checks hanged, this patch provides additional feedback to help 
investigating such failures:
      
- mysqltest is modified to give feedback about main steps in execution of a 
testcase if run in verbose mode (including connection to the server),
     
- MTR is modified to run mysqltest in verbose mode when doing check-testcase or 
check-warnings. The diagnostic output from mysqltest is preserved so that it is 
saved upon test failure.

client/mysqltest.cc:
  Add verbose messages informing about main steps in execution of a testcase.
mysql-test/mysql-test-run.pl:
  - When doing check-testcase or check-warnings run mysqltest in verbose mode.
  - Do not delete the mysqltest's error log if errors are detected during these
2009-02-13 16:27:33 +01:00
unknown
12f09e5ac0 Work around for bug in some versions of the File::Temp Perl module 2009-02-13 10:38:53 +01:00
Magnus Svensson
be5cc29e48 Bug#42797 mtr.pl - temporary directory are deleted when child exit's
- Since we are only using the auto cleanup in one place of mtr.pl today, disable the
autocleanup and write our own END handler that clean up the tmpdir only when the process
that created it exits.
2009-02-12 17:36:58 +01:00
Guilhem Bichot
b90ff5340f Fixing problems of previous 5.1-main->5.1-maria merge:
- 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
2009-02-12 16:27:33 +01:00
Guilhem Bichot
704b4845aa merge of 5.1-main into 5.1-maria. Myisam->Maria change propagation will follow.
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.
2009-02-12 15:08:56 +01:00
Bjorn Munch
46f91045f8 Bug #42590 MTR v1 crashes under Active State Perl
Perl crashes when MTR 2 tries to start v1
Replaced require with system()
2009-02-10 11:00:16 +01:00
Magnus Svensson
0ea110d858 Bug#42366 server-cert.pem expired: "Not After : Jan 27 08:54:13 2009 GMT
- remove the disbling of all ssl_* tests now when certs are fixed.
2009-02-06 15:09:15 +01:00
Magnus Svensson
4561831bf7 Bug#42588 system_mysql_db_fix30020 fails when run from bin dist with mtr2
- Properly set --bindir=$path_client_bindir and --basedir=$basedir by adding %s format specifier
2009-02-04 10:49:52 +01:00
Georgi Kodinov
c205bef39d Fix from magnus for the "The socket file path is too long (> 107)" failure. 2009-02-02 12:18:38 +02:00
Michael Widenius
115efe100d Merge with old maria tree 2009-02-01 14:02:29 +02:00
Magnus Svensson
818557b2dd WL#4189 mtr.pl v2
- Fix faulty regex used for filtering out suspicious warnings, causing
   warnings/errors from previous tests to be reported
2009-01-28 17:46:00 +01:00
Magnus Svensson
f81d05c5d3 Bug#42408 Faulty regex for detecting [Warning] and [ERROR] in mysqld error log
- Disable the two patterns that previously have been faulty - for now.
2009-01-28 11:24:55 +01:00
Magnus Svensson
8a1a3f714a WL#4189 mtr.pl v2
- Fix the regex for finding core files ie. anything that starts with "core" 
 - Add collection of *.dmp files on windows.
2009-01-27 18:56:24 +01:00
Magnus Svensson
04133fcd81 WL#4189 mtr.pl v2
- Remove double escape of [ and ]
2009-01-27 16:44:50 +01:00
Magnus Svensson
3d06fb9138 Bug#42366 server-cert.pem expired: "Not After : Jan 27 08:54:13 2009 GMT 2009-01-27 15:12:08 +01:00
Magnus Svensson
8a73a4beca Merge 2009-01-27 15:10:15 +01:00
Magnus Svensson
377d27b6d5 WL#4189 mtr.pl v2
- Make a rough filtering of the servers error log and write
   all suspicious warnings to $error_log.warnings
   The .warnings file is then examined more carefully by check_warnings.test
 - This will speed things up, doing all of this in a server running
   under valgrind takes far too long time.
2009-01-27 14:53:58 +01:00
Magnus Svensson
b3e1ca1f2c WL#4189 mtr.pl v2
- Add a "skip-ssl=1" to [mysqltest] section so that 
   mysqltest will not run with ssl turned on by default 
   but stil be able to turn it on when requested
 - This avoids that check_warnings and check_testcase
   connects to the server woth SSL turned on
2009-01-27 14:21:18 +01:00
Magnus Svensson
5e6d3997e9 Bug#42358 fulltext_plugin test fails on pushbuild: Too many arguments (first extra is '')
- pass empty "--plugin-dir" if simple parser was not found.
2009-01-27 10:45:39 +01:00
Magnus Svensson
3dbc5cf418 WL#4189 mtr.pl v2
- Pass verbose flag to My::SafeProcess also when starting
   check_warnings and run_on_all
2009-01-27 10:39:42 +01:00
Luis Soares
47e19cf2d5 merge: 5.1-rpl (with merge from main) -> 5.1-rpl 2009-01-26 17:06:39 +01:00
Magnus Svensson
ccca3dfa4e mtr.pl
- default parallel to 1(again)
2009-01-24 23:40:08 +01:00
Magnus Svensson
361a533069 WL#4189 mtr.pl v2
- turn auto detection of parallelism value ON again
2009-01-24 18:32:57 +01:00
Magnus Svensson
bbdd0576ee WL#4189 mtr.pl v2
- Clear test variables "comment" and "logfile" to make sure thay aren't
  already set from previous run of same test
 - Print warning if test result already set and set it anyway
2009-01-24 13:02:27 +01:00
Magnus Svensson
7b93194c47 WL#4189 mtr.pl v2
- Don't save ndb_*_fs directory after test failure
2009-01-24 12:18:52 +01:00
Magnus Svensson
f4ea7624ae Remove debug printouts of all remaining tests when test suite has been terminated in the middle 2009-01-24 11:07:54 +01:00
Luis Soares
df8543868d merge: 5.1 -> 5.1-rpl
conflicts:
  Text conflict in client/mysqltest.cc
  Text conflict in mysql-test/include/wait_until_connected_again.inc
  Text conflict in mysql-test/lib/mtr_report.pm
  Text conflict in mysql-test/mysql-test-run.pl
  Text conflict in mysql-test/r/events_bugs.result
  Text conflict in mysql-test/r/log_state.result
  Text conflict in mysql-test/r/myisam_data_pointer_size_func.result
  Text conflict in mysql-test/r/mysqlcheck.result
  Text conflict in mysql-test/r/query_cache.result
  Text conflict in mysql-test/r/status.result
  Text conflict in mysql-test/suite/binlog/r/binlog_index.result
  Text conflict in mysql-test/suite/binlog/r/binlog_innodb.result
  Text conflict in mysql-test/suite/rpl/r/rpl_packet.result
  Text conflict in mysql-test/suite/rpl/t/rpl_packet.test
  Text conflict in mysql-test/t/disabled.def
  Text conflict in mysql-test/t/events_bugs.test
  Text conflict in mysql-test/t/log_state.test
  Text conflict in mysql-test/t/myisam_data_pointer_size_func.test
  Text conflict in mysql-test/t/mysqlcheck.test
  Text conflict in mysql-test/t/query_cache.test
  Text conflict in mysql-test/t/rpl_init_slave_func.test
  Text conflict in mysql-test/t/status.test
2009-01-23 13:22:05 +01:00