Commit graph

55778 commits

Author SHA1 Message Date
Sven Sandberg
75017750c3 BUG#41959: mtr: error message when mkpath() fails and the file exists but is not directory
Problem: when mtr tries to create a directory, and the target
exists but is a file instead of directory, it tries several times
to create the directory again before it fails.
Fix: make it check if the target exists and is a non-directory.


mysql-test/lib/My/File/Path.pm:
  mkpath() now stops with appropriate error message if the target
  exists but is a non-directory.
2009-01-08 14:28:40 +01:00
He Zhenxing
f0f68e7191 Auto merge 2009-01-07 22:25:38 +08:00
He Zhenxing
dbb7b40cda BUG#41708 rpl.rpl_flushlog_loop fails in pushbuild producing non-deterministic result file
If server has not been initialized as a slave (by CHANGE MASTER), then
SHOW SLAVE STATUS will return an empty set, and caused the waiting for
Slave_IO_running or Slave_SQL_running to 'No' fail.

This patch fixed the problem by return immediately if slave is not
initialized in include/wait_for_slave_*_to_stop.inc.


mysql-test/include/wait_for_slave_io_to_stop.inc:
  Return immediately if slave is not initialized
mysql-test/include/wait_for_slave_sql_to_stop.inc:
  Return immediately if slave is not initialized
mysql-test/include/wait_for_slave_to_stop.inc:
  Return immediately if slave is not initialized
2008-12-26 16:20:29 +08:00
He Zhenxing
2070da7092 BUG#40704 main.events_restart fails sporadically in pushbuild: "server has gone away"
mysqltest command 'shutdown_server' is supposed to shutdown the server
and wait for it to be gone, and kill it when timeout. But because the
arguments passed to my_kill were in the wrong order, 'shutdown_server'
does not wait nor kill the server at all. So after 'shutdown_server',
the server is still running, and the server may still accepting
connections.


mysql-test/include/mtr_warnings.sql:
  Suppress forcing close thread messages when server shuts down
mysql-test/include/restart_mysqld.inc:
  wait_until_disconnected.inc is not required after fix shutdown_server command
2008-12-25 17:53:24 +08:00
Andrei Elkin
f8fe9e0953 Bug#38540 rpl_server_id2 uses show slave status unnecessarily
a minor improvement to the test to ease merging.

mysql-test/suite/rpl/r/rpl_server_id2.result:
  results changed.
mysql-test/suite/rpl/t/rpl_server_id2.test:
  masking out the until_pos which value is out of interest but
  it presence hurts merging between trees.
2008-12-19 22:13:12 +02:00
Andrei Elkin
6a637271d6 merge from 5.1-rpl to a local branch 2008-12-19 21:47:02 +02:00
Andrei Elkin
126c0b4433 Bug#38934 slave slave until does not work with --replicate-same-server-id
Bug#38540 rpl_server_id2 uses show slave status unnecessarily
            
Slave did not perform any event recorded into the relay log from some
different master when it was started with --replicate-same-server-id.
The reason appeared to be a consequence of BUG#38734 which stopped the
sql thread at its startup time.
      
The real fixes for the current bug are in the patch for BUG#38734.
This changeset carries only a regression test for the bugs.  Bug#38540
gets fixed too by means of eliminating an extra show slave status.


mysql-test/suite/rpl/r/rpl_server_id2.result:
  Bug#38934 Bug#38540 changed results.
mysql-test/suite/rpl/t/disabled.def:
  rpl_server_id2 is re-enabled.
mysql-test/suite/rpl/t/rpl_server_id2.test:
  regression test for BUG#38734 is added.
  Bug#38540 requirement to get rid of show slave status is implemented.
2008-12-19 20:59:22 +02:00
Alfranio Correia
4916a9f7bf auto-merge 5-1-rpl --> 5-1(local) 2008-12-19 17:45:38 +00:00
Magnus Svensson
8eac434d49 Merge 2008-12-19 16:55:45 +01:00
Magnus Svensson
2d06a00dda Bug #40704 main.events_restart fails sporadically in pushbuild: "server has gone away"
mysql-test/include/wait_until_disconnected.inc:
  Allow 2013 as an expected error code
2008-12-19 16:48:31 +01:00
Alfranio Correia
e8d5395c42 Post-fix merge 5-1 --> 5.1-rpl. Changed mysqlcheck.result.
Note that this result set is different from that in 6.0/6.0-rpl.
2008-12-19 10:11:48 +00:00
Alfranio Correia
87ebdef9ea Post-fix merge 5-1 --> 5.1-rpl. Changed mysqlcheck.result. 2008-12-19 03:02:20 +00:00
Alfranio Correia
7ad4b20b30 auto merge 5.1-rpl --> 5.1-rpl(local) 2008-12-18 20:02:40 +00:00
Alfranio Correia
606603db95 Post-fix merge 5-1 --> 5.1-rpl. Fixed mysqlcheck.test var directories. 2008-12-18 19:37:18 +00:00
Magnus Svensson
a24d4c8f25 Merge 2008-12-18 19:54:47 +01:00
Magnus Svensson
970be2ba70 Fix merge error, mysqltest.cc should be mysqltest.c 2008-12-18 19:36:01 +01:00
John H. Embretsen
edd3d39ff9 Merge tip of 5.1-rpl into local repository 2008-12-18 15:55:16 +01:00
Magnus Svensson
949b2f1c0c Bug#41480 Tests that do LOAD DATA INFILE fail when run locally
mysql-test/lib/My/File/Path.pm:
  Extend 'copytree' to take an optional "umask" parameter that will be used while copying the files
mysql-test/mysql-test-run.pl:
  Pass umask 0022 to copytree so that the copied files will be created world readable and the mysqld
  can LOAD DATA INFILE them
2008-12-18 13:58:55 +01:00
Alfranio Correia
29e8163c9f Enabled test cases that were fixed. 2008-12-18 12:35:48 +00:00
John H. Embretsen
0ea47c9709 Fix (preliminary?) for Bug#41502 - MTR v2 should not load plugins during server bootstrap.
Adding --loose-skip-falcon option to the mysqld options provided by MTR (v2) during mysqld bootstrap in order to avoid plugin (in this case Falcon) initialization of static variables etc. Options --loose-skip-innodb and --loose-skip-ndbcluster were already included.

This will fix Bug#41014 (falcon_bug_39708 fails in pushbuild in 6.0-rpl: "succeeded - should have failed")
in the case of MTR v2 (which currently is available in -rpl branches only). 
MTR v1 (e.g. in main 6.0 branch) does not have this problem.

It would be more ideal to remove the --loose-skip-* options and provide a single option disabling all plugin initialization instead, or have bootstrap do this by default. Server modifications are (most likely) needed to be able to do that.


mysql-test/mysql-test-run.pl:
  Reintroduced the --loose-skip-falcon bootstrap option used by the previous version of this test runner.
2008-12-17 09:39:01 +01:00
Alfranio Correia
2349c56f1c auto merge 2008-12-13 19:48:19 +00:00
Alfranio Correia
19f859a27e merge 5.1 --> 5.1-rpl 2008-12-13 19:42:12 +00:00
Andrei Elkin
d964d3f8db merge 5.1-rpl repository -> 5.1-rpl local 2008-12-13 00:00:45 +02:00
Andrei Elkin
fab8d1b460 Bug #40129 no-threads fails on pushbuild in 6.0-rpl, ps_stm_threadpool
The test reacted on the way how mtr orders arguments for the server
that are gathered from different source. It appeared that the opt-file
options were parsed before those that supplied to mtr via its command
line. In effect, the opt-file preferences got overriden by the command
line and some tests, like no-threads, were caught by surprise: a test
expects an option value that had been "hardcoded" into its opt-file
but gets another one.
This server options ordering problem exists on in the new rpl trees
mtr.  In option of the author of this patch, the opt-file shall be
considered as having the highest preference weight. The opt-file is
merely a part of the header of a test, namely a part that can not be
technically deployed along the test file.
It's unnatural for the test writer to provide both the opt file value
and a guard that guarantees the value will be set on in the run time.
It's logical to provide either one: the option and its value or the
guard.

Fixed with relocating parse of the opt file to be the last among
sources of the sever's options.

A side effect: fixing a small problem of resetting the suite options
at time the opt file starts parsing.

A side effect: main.log_bin_trust_function_creators_func is disabled to
be re-enabled with the fixes for bug#41003 will be merged from the main trees.


mysql-test/lib/mtr_cases.pm:
  Relocating parse of the opt file to be the last. This ensure the opt file is the last
  provider for the server options so that the opt-file options have the highest preference;
  fixing a separate issue of incorrect resetting the suite options for the server;
mysql-test/t/disabled.def:
  log_bin_trust_function_creators_func is disabled. Todo: to-reable when fixes for bug#41003
  will be merged from the main trees.
2008-12-12 23:51:44 +02:00
Serge Kozlov
aa78bb3030 Bug#41186: Possible reason of bug is waiting any sql error on slave instead
exact number of error. The patch does following:
1) Add new parameter $slave_sql_errno for wait_for_slave_sql_error.inc
2) Add waiting error 1062 (Duplicate PK) for slave SQL thread in test case.
2008-12-12 14:40:22 +03:00
Serge Kozlov
4ae3c11cca Bug#41108: It is a testcase timeout bug so the patch fixes test code in places
where timeout can happen:
1. Added waiting start/stop slave to make sure that slave works properly.
2. Added cleanup for slave.
3. Updated related result files.
2008-12-12 14:34:18 +03:00
Serge Kozlov
755bcd99c0 Bug#40142: possible reason of timeout is stopped slave threads before
sync_with_master command. The patch add waiting of proper state of slave 
before sync with master.
2008-12-12 14:25:36 +03:00
Magnus Svensson
5c16a315ca Bug#40636 falcon_bug_28095 test fails with "Server failed to restart"
mysql-test/include/wait_until_disconnected.inc:
  Change the default value for $mysql_errno so that the loops is run at least once
2008-12-10 19:40:27 +01:00
Georgi Kodinov
ba816c14a9 merged 5.0-main -> 5.1-main 2008-12-08 11:39:34 +02:00
Magnus Svensson
95b779ee53 Merge 2008-12-05 22:15:52 +01:00
Magnus Svensson
db6be73cf3 Bug#41061 analyze-warnings times out sporadically in pushbuild
mysql-test/include/mtr_warnings.sql:
  Slice the time the takes to load the servers error log into error_log table
  by using a declared variable instead of user variable.
  Also change the while loop to only do one LOCATE per loop.
  Drop the temporary tables created by sp
2008-12-05 19:24:10 +01:00
Georgi Kodinov
1bb6a0ba9f Disable wait_timeout_func and report bug #41255. 2008-12-05 13:24:19 +02:00
Vladislav Vaintroub
8f500c522b Bug#38522: 5 seconds delay when closing application using embedded server
The problem here is that embedded server starts handle_thread manager 
thread  on mysql_library_init() does not stop it on mysql_library_end().
At shutdown, my_thread_global_end() waits for thread count to become 0,
but since we did not stop the thread it will give up after 5 seconds.
             
Solution is to move shutdown for handle_manager thread from kill_server()
(mysqld specific) to clean_up() that is used by both embedded and mysqld.
            
This patch also contains some refactorings - to avoid duplicate code,
start_handle_manager() and stop_handle_manager() functions are introduced.
Unused variables are eliminated. handle_manager does not rely on global
variable abort_loop anymore to stop (abort_loop is not set for embedded).
            
Note: Specifically on Windows and when using DBUG version of libmysqld, 
the complete solution requires removing obsolete code my_thread_init() 
from my_thread_var(). This has a side effect that a DBUG statement 
after my_thread_end() can cause thread counter to be incremented, and 
embedded will hang for some seconds. Or worse, my_thread_init() will 
crash if critical sections have been deleted by the global cleanup 
routine that runs in a different thread. 

This patch also fixes and revert prior changes for Bug#38293 
"Libmysqld crash in mysql_library_init if language file missing".

Root cause of the crash observed in Bug#38293  was bug in my_thread_init() 
described above




client/mysql.cc:
  sql_protocol_typelib is not exported from libmysqld
  (does not make sense either)
  thus excluded from embedded client
dbug/dbug.c:
  revert changes for Bug#38293
include/my_dbug.h:
  revert changes for Bug#38293
libmysql/libmysql.c:
  Removed DBUG_POP call, because when called after my_end(), will access
  THR_key_mysys that is already deleted. The result of pthread_get_specific
  is not predictable in this case and hence DBUG_POP can crash.
libmysqld/examples/CMakeLists.txt:
  Revert changes for Bug#38293.
libmysqld/lib_sql.cc:
  code to start handle manager is factored out into 
  start_handle_manager() function
libmysqld/libmysqld.def:
  Revert changes for Bug #38293
  Remove excessive exports from libmysqld, export what API documents.
mysys/my_thr_init.c:
  Remove windows-DLL-specific workaround for something (old code, no documentation for
  what specifically). The problem is that even after my_thread_end() is finished, 
  DBUG statement can initiate my_thread_init(). This does not happen anywhere else and 
  should not happen on  Windows either.
sql/mysql_priv.h:
  - new functions start_handle_manager() and stop_handle_manager()
  - move manager_thread_in_use  variable to sql_manager.cc and made
  it static
  - remove manager_status, as it is unused
sql/mysqld.cc:
  Code to start/stop handle_manager thread is factored out into start_handle_manager()
2008-12-04 19:41:53 +01:00
Bjorn Munch
d2e0e3ce35 Bug #40924 please print timestamp when mtr fails
Added text "Test ended at <time>" after failure reports
2008-12-03 14:11:03 +01:00
unknown
7391280c15 Raise version number after cloning 5.0.74 2008-12-03 01:09:05 +01:00
Sven Sandberg
0456662539 BUG#41018: innodb_max_dirty_pages_pct_func fails sporadically: error 28 from storage engine
BUG#39382: innodb_max_dirty_pages_pct_func failed with timeout on pushbuild
Disabled innodb_max_dirty_pages_pct_func.
Please re-enable if the test gets fixed.


mysql-test/t/disabled.def:
  Disabled innodb_max_dirty_pages_pct_func.
2008-12-02 20:07:18 +01:00
Georgi Kodinov
71dbb4987f moved the version to 5.0-main 2008-12-02 14:50:40 +02:00
Georgi Kodinov
014143e858 Fixed a bad merge (5.0->5.1) of the fix for bug 37339.
There was a missing initialization.

sql/set_var.h:
  Added an initialization missing during the merge of 37339.
2008-12-02 13:21:05 +02:00
Georgi Kodinov
bd53e304d7 Addendum to the fix for bug #39178: Server crash in YaSSL
with non-RSA-requesting client if server uses RSA key

matchSuite() may not find a match. 
It will return error in this case.
Added a error checking code that will prevent using uninitialized 
memory in the code based on the assumption 
that matchSuite() has found a match.

extra/yassl/src/yassl_imp.cpp:
  Bug #39178: Correct error checking added
2008-12-02 13:15:28 +02:00
Georgi Kodinov
47cff6998a merged addendum to bug 39920 to 5.1-bugteam 2008-12-01 17:43:51 +02:00
Georgi Kodinov
7f9e0b9bfb addendum to the fix for bug #39920 : post-merge test suite fixes 2008-12-01 17:41:06 +02:00
Georgi Kodinov
6afd8123a3 merged bug 39920 and 5.1-main to 5.1-bugteam 2008-12-01 17:22:16 +02:00
Georgi Kodinov
9a2d729bb3 merged 5.1-main -> 5.1-bugteam 2008-12-01 17:05:23 +02:00
Georgi Kodinov
c419185fed merged 5.0-main into 5.0-bugteam 2008-12-01 16:56:56 +02:00
Georgi Kodinov
7114fde7c0 merged bug 39920 to 5.0-bugteam 2008-12-01 16:41:22 +02:00
Georgi Kodinov
f56e43ce52 Bug #39920: MySQL cannot deal with Leap Second expression in string literal.
Updated MySQL time handling code to react correctly on UTC leap second additions.
MySQL functions that return the OS current time, like e.g. CURDATE(), NOW() etc
will return :59:59 instead of :59:60 or 59:61.
As a result the reader will receive :59:59 for 2 or 3 consecutive seconds 
during the leap second.
This fix will not affect the values returned by UNIX_TIMESTAMP() for leap seconds.
But note that when converting the value returned by UNIX_TIMESTAMP() to broken 
down time the correction of leap seconds will still be applied.
Note that this fix will make a difference *only* if the OS is specially configured
to return leap seconds from the OS time calls or when using a MySQL time zone 
defintion that has leap seconds.
Even after this change date/time literals (or other broken down time 
representations) with leap seconds (ending on :59:60 or 59:61) will still be 
considered illegal and discarded by the server with an error or 
a warning depending on the sql mode.
Added a test case to demonstrate the effect of the fix.

mysql-test/r/timezone3.result:
  Bug #39920: test case
mysql-test/std_data/Moscow_leap:
  Bug #39920: updated the Moscow time zone to Dr. Olson's tzdata 2008i 
  to accomodate for the 2008 leap second
mysql-test/t/timezone3.test:
  Bug #39920: test case
sql/tztime.cc:
  Bug #39920: adjust leap seconds (:60 or :61) to :59
sql/tztime.h:
  Bug #39920: adjust leap seconds (:60 or :61) to :59
2008-12-01 16:18:35 +02:00
Georgi Kodinov
5f109f4882 merge of the addenum for bug 37339 to 5.1-bugteam 2008-12-01 15:15:33 +02:00
Georgi Kodinov
a1e9b6ba1e Addendum to bug #37339 : make the test case portable to windows
by using and taking out a full path.

mysql-test/r/ctype_filesystem.result:
  Bug #37399: use MYSQL_TEST_DIR rooted test
mysql-test/t/ctype_filesystem-master.opt:
  Bug #37399: use MYSQL_TEST_DIR rooted test
mysql-test/t/ctype_filesystem.test:
  Bug #37399: use MYSQL_TEST_DIR rooted test
2008-12-01 13:34:53 +02:00
Gleb Shchepa
2149e3b948 null-merge 5.0-bugteam --> 5.1-bugteam (bug 33461) 2008-12-01 12:16:11 +04:00
Gleb Shchepa
4f75f58b7a After-push commit for bug #33461 to make valgrind happy:
TABLE_LIST doesn't free Strings in its string lists
(TABLE_LIST::use_index and TABLE_liST::ignore_index), so
calling c_ptr_safe() on that Strings leads to memleaks.
OTOH "safe" c_ptr_safe() is not necessary there and we can
replace it with c_ptr().
2008-12-01 12:14:02 +04:00