Commit graph

56916 commits

Author SHA1 Message Date
Vladislav Vaintroub
24e7fb05b5 Bug #44530 mtr v2 startup very slow on Windows.
MTR is stuck for about 20 seconds checking for free ports.
The reason is that perl's connect()  takes 1 second on windows
if port is not opened.

This patch fixes the mtr_ping_port implementation on Windows
to use Net::Ping for the port checking with small (0.1sec) timeout.

This patch also removes pointless second call to check_ports_free() 
in case of auto build thread.
2009-04-28 23:06:36 +02:00
Vladislav Vaintroub
361fa97258 Bug #42804 --parallel option does not work for MTR under ActiveState
perl 

The problem here was the method how MTR gets its unique thread ids.
Prior to this patch, the method to do it was to maintain a global 
table of pid,mtr_unique_id) pairs. The table was backed by a text 
file. The table was cleaned up one in a while and dead processes leaking
unique_ids were determined with with kill(0) or with scripting tasklist
on Windows.

This method is flawed specifically on native Windows Perl. fork() is 
implemented with starting a new thread, give it a syntetic negative PID
(threadID*(-1)), until this thread creates a new process with exec()
However,  neither tasklist nor any other native Windows tool can cope with
negative perl PIDs. This lead to incorrect determination of dead process 
and reusing already used mtr_unique_id.

The patch introduces alternative portable  method of solving unique-id 
problem. When a process needs a unique id in range [min...max], it just 
starts  to open files named min, min+1,...max in a loop . After file is 
opened, we do non-blocking flock(). When flock() succeeds, process has 
allocated the ID. When process dies, file is unlocked . Checks for zombies 
are not necessary.

Since the change would create a co-existence problems with older version
of MTR, because of different way to calculate IDs, the default ID range
is changed from 250-299 to 300-349.

Another fix that was necessary enable --parallel option was to serialize 
spawn() calls on Windows. specifically, IO redirects needed to be protected.

This patch also fixes hanging CRTL-C (as described in Bug #38629) for the
"new"  MTR. The fix was already in 6.0 and is now downported.
2009-04-23 13:35:02 +02:00
Bjorn Munch
1151d8625f merge from main, redo 2009-04-17 15:46:51 +02:00
Jonathan Perkin
00270a7034 Merge from mysql-5.1.34-release 2009-04-16 20:43:24 +02:00
Bjorn Munch
0f7e647944 Bug #41649 sporadic pb failure: mtr stopped, message "TIMEOUT (1200 seconds), ABORTING."
Potentially infinite loop in check_expected_crash_and_restart 
Replace with finite loop and some additional logic
2009-04-08 14:54:36 +02:00
Jonathan Perkin
79650ae641 Apply http://lists.mysql.com/commits/70427 to fix Win32 builds with VS 2005. 2009-04-02 13:17:38 +02:00
Bjorn Munch
6494ae0357 Bug #42507 mtr2: the --check is fooled up by a code executed in --init_file
mtr *thinks* there's a side effect
Use the new force_restart() to avoid running the check-testcase
2009-04-02 13:00:44 +02:00
MySQL Build Team
5c2ba04cba Add new headers to noinst_HEADERS (ibmdb2i storage engine) 2009-04-01 22:18:49 +02:00
Bjorn Munch
0fcfab24d7 Bug #43570 MTR2 hangs when test fails and named pipe created
Hangs when trying to copy the pipe
Amend copytree() to only copy regular files
2009-04-01 16:23:10 +02:00
Bjorn Munch
86b0f7aae6 Bug #43917 MTR2 does not report accurate test statistics when using the 'repeat=n'
option
In practice, only the last run of the test was counted
Add a separate counter rep_failures for failures before last run
2009-04-01 13:58:30 +02:00
Magnus Blåudd
f295ee522e Bug#43983 Support force restart of all servers after test ended
- Properly update .result file
2009-04-01 11:33:36 +02:00
Magnus Blåudd
878481d4cf Bug#43983 Support force restart of all servers after test ended
- Update testcases funcs_1.is_routines to only query
   information_schema.routines about the routines in 'test'
   database(where it has created it's routines)
2009-04-01 10:59:10 +02:00
Magnus Svensson
b43656bd96 Merge 2009-03-31 16:10:44 +02:00
Jonathan Perkin
9b09ac249c Apply 64-bit fix from Azundris. 2009-03-31 16:04:02 +02:00
Magnus Svensson
ce65f283a5 Bug#43983 Support force restart of all servers after test ended
- Some tests need to modify the server(s) so much that a total restart of all servers are
   necessary after test. Make it possible for a test to signal it want mtr.pl to restart
   all servers.
2009-03-31 15:39:40 +02:00
Bjorn Munch
5273835566 Bug #43840 "too many tests failed" includes retries
Only count non-retried tests, and increment before testing
2009-03-31 13:15:52 +02:00
Jonathan Perkin
22f240348d Raise version number after cloning 5.1.34 2009-03-30 13:27:23 +02:00
Georgi Kodinov
c5306b2154 merged tree name change 2009-03-27 16:34:48 +02:00
Georgi Kodinov
14d905f9f4 tree name changed 2009-03-27 16:29:56 +02:00
Georgi Kodinov
5f61b2d551 null-merged 5.0 specific compilation warning 2009-03-27 16:27:35 +02:00
Georgi Kodinov
5bc77b8b61 fixed a compilation warning 2009-03-27 16:25:16 +02:00
Georgi Kodinov
124d5e730c auto-merge 2009-03-27 14:15:50 +02:00
Georgi Kodinov
1b74eac6cb disabled a failing test suite due to bug #42311 2009-03-27 14:12:33 +02:00
Tatiana A. Nurnberg
5d0564ea48 auto-merge 2009-03-27 12:40:53 +01:00
Tatiana A. Nurnberg
858b8af739 Bug#43748: crash when non-super user tries to kill the replication threads
Test was flakey on some machines and showed spurious
reds for races.

New-and-improved test makes do with fewer statements,
no mysqltest-variables, and no backticks. Should hope-
fully be more robust. Heck, it's debatable whether we
should have a test for this, anyway.
2009-03-27 12:20:37 +01:00
Georgi Kodinov
b1bc018253 Worked around the problem described in bug #43884. 2009-03-27 12:59:31 +02:00
Bjorn Munch
dce1b7ef09 Bug #42807 MTR: './mtr somesuite.sometest' fails if somesuite is not in DEFAULT_SUITES
If suite specified as part of test name, collect from that suite too.
2009-03-27 11:25:24 +01:00
Georgi Kodinov
d1b830d0fe fixed unupdated test suites. 2009-03-26 17:49:06 +02:00
Georgi Kodinov
a22fb90c64 removed an unix-ism in a test 2009-03-26 16:47:58 +02:00
Sergey Glukhov
99369b1027 fixed archive test. It might be OOM error on boxes with low amount of memory.
It leads to crash because there is no OOM check in ha_archive::unpack_row().
The fix:
added OOM error check
2009-03-26 18:27:34 +04:00
Andrei Elkin
eecf7e84cb merge from 5.1-pe-stage to a local tree 2009-03-26 11:28:07 +02:00
Andrei Elkin
c8338ad33d bug#42977
compilation warning fixed
2009-03-26 11:25:43 +02:00
Ramil Kalimullin
6379cc00bb Manual merge. 2009-03-25 23:41:16 +04:00
Ramil Kalimullin
63821b173d Auto-merge 2009-03-25 21:50:42 +04:00
Ramil Kalimullin
cf6c7262d0 Fix for bug#35383: binlog playback and replication breaks
due to name_const substitution

Problem:
"In general, statements executed within a stored procedure
are written to the binary log using the same rules that
would apply were the statements to be executed in standalone
fashion. Some special care is taken when logging procedure
statements because statement execution within procedures
is not quite the same as in non-procedure context".

For example, each reference to a local variable in SP's
statements is replaced by NAME_CONST(var_name, var_value).
Queries like
"CREATE TABLE ... SELECT FUNC(local_var ..."
are logged as
"CREATE TABLE ... SELECT FUNC(NAME_CONST("local_var", var_value) ..."
that leads to differrent field names and
might result in "Incorrect column name" if var_value is long enough.

Fix: in 5.x we'll issue a warning in such a case.
In 6.0 we should get rid of NAME_CONST().

Note: this issue and change should be described in the documentation
("Binary Logging of Stored Programs").
2009-03-25 20:48:10 +04:00
Tatiana A. Nurnberg
bafe7f60c6 Bug#43748: crash when non-super user tries to kill the replication threads
manual merge. also adds test specific to 5.1+
2009-03-25 17:42:34 +01:00
Tatiana A. Nurnberg
de8042d007 Bug#43748: crash when non-super user tries to kill the replication threads
Fine-tuning. Broke out comparison into method by
suggestion of Davi. Clarified comments. Reverting
test-case which I find too brittle; proper test
case in 5.1+.
2009-03-25 17:10:27 +01:00
Georgi Kodinov
08626e800e Bug#43748: crash when non-super user tries to kill the replication threads
(Pushing for Azundris)
      
We allow security-contexts with NULL users (for
system-threads and for unauthenticated users).
If a non-SUPER-user tried to KILL such a thread,
we tried to compare the user-fields to see whether
they owned that thread. Comparing against NULL was
not a good idea.
      
If KILLer does not have SUPER-privilege, we
specifically check whether both KILLer and KILLee
have a non-NULL user before testing for string-
equality. If either is NULL, we reject the KILL.
2009-03-25 15:37:21 +02:00
Andrei Elkin
921e3fe8bf Bug#42977 RBR logs for rows with more than 250 column results in corrupt binlog
The issue happened to be two-fold.
The table map event was recorded into binlog having
an incorrect size when number of columns exceeded 251. 
The Row-based event had incorrect recording and restoring m_width member within
the same as above conditions.

Fixed with correcting m_data_size and m_width.
2009-03-25 12:53:56 +02:00
Leonard Zhou
18d2219889 Merge 2009-03-25 17:37:29 +08:00
Alexey Kopytov
1b01a1ca61 Disabled embedded server in the test case for bug #41486. 2009-03-25 11:47:41 +03:00
Leonard Zhou
e07e1645d0 Empty merge for fixing only in 5.0 2009-03-25 16:34:40 +08:00
Leonard Zhou
cfa6235224 Fix the test case error in PB. 2009-03-25 16:19:09 +08:00
Alexey Kopytov
b4c794d35a Fix for bug #43801: mysql.test takes too long, fails due to
expired timeout on debx86-b in PB

Turned off general log when importing DB dump in the test 
case for bug #41486 due to the bug in CSV engine code that 
makes logging long SQL query too slow.
2009-03-25 10:32:01 +03:00
Leonard Zhou
9095a69eda Fix test case erro in sles10-ia64-a.
Reset master before next test.
2009-03-25 14:19:42 +08:00
Alexey Kopytov
e484d6fa02 Automerge. 2009-03-24 23:53:25 +03:00
Alexey Kopytov
06554a3ba8 Automerge. 2009-03-24 23:52:08 +03:00
Alexey Kopytov
159b18fad1 Automerge. 2009-03-24 23:50:59 +03:00
Alexey Kopytov
b3901af145 Manuel merge. 2009-03-24 23:48:31 +03:00
Alexey Kopytov
b071b660e9 Fix for bug #43801: mysql.test takes too long, fails due to
expired timeout on debx86-b in PB 

Moved the resource-intensive test case for bug #41486 into 
a separate test file to reduce execution time for mysql.test.
2009-03-24 23:44:38 +03:00