1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-02 14:22:51 +03:00
Commit Graph

188 Commits

Author SHA1 Message Date
d6f8da6e8a merge 2010-02-20 11:23:12 +01:00
13d7179a19 Fixed incomplete merge of 48878, embedded tests fail on Windows 2010-02-19 13:45:25 +01:00
890c52d889 Add components to INSTALL, some eraly Wix support 2010-02-10 20:23:24 +01:00
c827968a2d Handle different installation layouts.
using  cmake option INSTALL_LAYOUT=STANDALONE would produce the layout as in 
tar.gz or zip packages.
INSTALL_LAYOUT=UNIX will produce unixish install layout  (with mysqld being in sbin subdirectory , libs in lib/mysql etc). This layout is used for RPM packages.

Subtle differences in both packages unfortunately lead to the need to recompile MySQL to use with other package type - as otherwise for example default plugins or data directories would be wrong set.

There are numerous other variables that  allow fine-tuning packaging layout. (INSTALL_BINDIR, INSTALL_LIBDIR , INSTALL_PLUGINDIR etc).

This options are different from autotools as they do not expect full paths to directories, but only subdirectory of CMAKE_INSTALL_PREFIX.

There are 2 special options that expect full directory paths
- MYSQL_DATADIR that defines default MYSQL data directory (autotools equivalent
is --localstatedir)
- SYSCONFDIR  can be added to search my.cnf search path (autotools equivalent is --sysconfdir)
2010-01-24 16:23:16 +01:00
8b046e600a upmerge 43005,48888,49837,49878,50471 2010-01-20 14:37:48 +01:00
01795763f0 Bug#43005 main.init_connect fails on Windows due to wrong quoting of args
- The arguments are properly quoted when mtr.pl calls my_safe_process but
  unfortunately the all off when running with active state perl and stays
  in cygwin perl.
- Extend the patch to only quote args that are not already quoted
This a redo of previous commit, will be included in next push
2010-01-19 09:48:56 +01:00
5828a6528b merge from trunk 2009-12-16 10:43:02 +01:00
af9d564303 Merge from 5.1 main 2009-12-16 10:37:41 +01:00
91d9e6b670 merge 2009-12-11 21:17:17 +01:00
a07d7da4e7 Bug#48878 "Embedded" tests fail due to an unknown variable "shared-memory-base-name"
the 'shared-memory-base-name' was added to the [client] section of the my.cnf file.
    That option isn't supported by the mysqltest_embedded.

per-file comments:
  mysql-test/lib/My/ConfigFactory.pm
2009-11-25 16:12:23 +04:00
8e04f4c73c Bug #47978 timer : expired after 90 seconds
Problems occur after killing threads on Windows
Get rid of the timeout threads, implement simple timer in wait_any_timeout()
2009-11-24 09:12:48 +01:00
134d5e3a31 merge 2009-11-20 16:41:07 +01:00
2b0be38266 Bug #48806 mysql-test-run.pl --help should work even in the absence of binaries
Searches for my_safe_process binary too early
Put this into a sub() and call it after examining options (incl. --help)
2009-11-17 12:13:22 +01:00
2925dcd169 automerge 2009-11-13 13:26:16 +01:00
13b7ee7f09 Auto-merge from mysql-trunk. 2009-11-12 15:10:26 +03:00
13cd7170cc WL#5161 : Cross-platform build with CMake 2009-11-09 12:32:48 +01:00
f56223598e Auto-merge from mysql-trunk-merge. 2009-11-06 18:33:37 +03:00
2ca5b2c791 Manual merge from mysql-trunk-merge. 2009-11-06 17:20:27 +03:00
8b78a6af01 Auto-merge from mysql-5.1. 2009-11-05 12:14:01 +03:00
dd1d0a4644 Bug #47663 mtr --parallel has weird output
Some output is written, some is not
Finally concluded it's a Perl bug: after running with parallel threads
  for a while, print suddenly ignores all but the first argument.
Workaround: concatenate all the arguments into one, except in output that
  only comes before we start running tests
2009-11-04 13:42:22 +01:00
273f9b633c Merge bug#47867 to 5.1-bugteam 2009-11-03 18:07:19 +01:00
1fd7c1038a Additional change required for bug#46834, find the std_data directory
correctly in RPMs.
2009-11-03 13:56:35 +00:00
2f075a1e37 Bug #47423 mtr connects to wrong database
The reason for the bug is that mysqtest as well as other client tools
running in test suite (mysqlbinlog, mysqldump) will first try to connect 
whatever database has created shared memory with default base name 
"MySQL" and use this. (Same effect could be seen on Unix if mtr would
not care to calculate "port" and "socket" parameter).
      
The fix ensures that all client tools and  running in mtr use unique  
per-database shared memory base parameters, so there is no possibility
to clash with already installed one. We use socket name for shared memory 
base (it's known to be unique). This shared-memory-base is written to the
MTR config file to the [client] and [mysqld] sections. Fix made also made 
sure all client tools understand and correctly handle --shared-memory-base.
Prior to this patch  it was not the case for  mysqltest, mysqlbinlog and 
mysql_client_test.
      
All new connections done from mtr scripts via connect() will by default 
set shared-memory-base. And finally, there is a possibility to force 
shared memory or pipe connection and overwrite shared memory/pipe base name
from within mtr scripts via optional PIPE or SHM modifier. This functionality
was manually backported from 6.0
(original patch  http://lists.mysql.com/commits/74749)
2009-11-03 01:19:37 +01:00
7d5e759907 merge 2009-11-03 01:52:57 +01:00
b738a5e57e merge from next-mr 2009-10-21 12:18:33 +02:00
7741d9b50d WL#751 Error message construction, backport 2009-10-15 17:23:43 +05:00
9665f134e3 Bug#47867 compiler warning _WIN32_WINNT macro redefinition
- Remove the conflicting macro definitions since we define a higher value
   directly in the cmake files.
2009-10-06 18:10:34 +02:00
5f80994f4e Bug #47731 mtr freezes for many seconds when process to be killed has already gone.
The problem is that safe_kill_win fails to detect a dead process. OpenProcess() will 
succeed even after the process died, it will first fail after the last handle to process 
is closed.

To fix the problem, check process status with GetExitCodeProcess() and consider 
process to be dead if the exit code returned by this routine is not STILL_ALIVE.
2009-09-30 00:19:00 +02:00
59b1991bc0 new merge from trunk 2009-09-21 11:43:01 +02:00
b5dd609a55 initial merge from 5.1-mtr 2009-09-04 15:20:58 +02:00
51c0f1fce6 3rd merge from main 2009-09-03 08:44:22 +02:00
588e9930b4 first merge from main 2009-09-02 18:58:17 +02:00
4a76122f43 Apply patch from bug#46834 to install the test suite in RPMs. 2009-08-21 13:58:33 +02:00
e4b2b97839 Bug #45771 AIX and i5/OS Perl bug: check_socket_path_length in MTR fails
Bug in Perl
Scrap attempt to do this smartly on AIX, just drop the test and assume it's OK
This commit undoes the previous push and adds a line to ignore on AIX
2009-08-06 09:30:53 +02:00
c26dd8e87b Bug #45771 AIX and i5/OS Perl bug: check_socket_path_length in MTR fails
Bug is actually in Perl
Fixed by trapping and ignoring error from IO::Socket::UNIX
2009-08-05 09:41:40 +02:00
2399987a2a Bug #46212 safe_process: FATAL ERROR, Unknown option: --nocore
Also fixed mysqld.cc to avoid popup-boxes
2009-07-23 19:01:24 +02:00
8d6a25a23f Bug #43005 main.init_connect fais on Windows in PB2
Server args containing spaces do not work on Windows
Fixed my_safe_rprocess-win to re-apply "" around such args
2009-07-15 14:20:56 +02:00
915d1c4d32 Fix warnings generated by SunStudio and GCC.
Based upon patch contributed by Stewart Smith
2009-07-08 09:31:22 -03:00
63910fc2a0 Bug #43780 mysql-test-run uses deprecated server options
Updated to use general_log[_file] and slow_query_log[_file]
2009-06-22 16:27:05 +02:00
efb195051a Bug #44775 MTR fails to bootstrap mysqld on Windows in Pushbuild 2.
Suspected reason for the failure is that safe_process.exe already runs in a job that does not allow breakaways. 
The fix is to use a fallback -  make newly created process the root of the new process group. This allows to kill process together with descendants via GenerateConsoleCtrlEvent (CTRL_BREAK_EVENT, pid)
2009-05-14 21:56:53 +02:00
a4252ac0c7 Bug #44511 MTR2: add an option not to kill other servers when one from the group exits
MTR would die as soon as one server terminates
Implemented --wait-all option and associated subroutine
2009-04-29 16:13:38 +02:00
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
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
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
b446a256e4 change order of cdb parameters to workaround a bug , where command (-c) is not evaluated if -i ,-y or -z contains an invalid path.
cdb would hang then waiting for user input, which is bad for use in scripts
2009-03-24 14:44:21 +01:00
ca3db65c9f Bug #43074 MTR2 is not accessing core dumps when a path is too long
Executable path is truncated in core
If we see truncated path, try to guess using strings and grep
If that doesn't work either, use known mysqld path
2009-03-20 16:39:06 +01:00
1b922ca6e8 merge from main 2009-03-18 13:44:05 +01:00
6f7f233b6c Bug #43597 Fix for Bug 43410 breaks build on Power Mac due to incomplete sys/resource.h
Added include of sys/time.h
2009-03-12 16:07:13 +01:00
68fcdd97da merged 5.1-main -> 5.1-bugteam 2009-03-11 15:03:25 +02:00
8179ed2649 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