Commit graph

1465 commits

Author SHA1 Message Date
Davi Arnaut
a10ae35328 Bug#34043: Server loops excessively in _checkchunk() when safemalloc is enabled
Essentially, the problem is that safemalloc is excruciatingly
slow as it checks all allocated blocks for overrun at each
memory management primitive, yielding a almost exponential
slowdown for the memory management functions (malloc, realloc,
free). The overrun check basically consists of verifying some
bytes of a block for certain magic keys, which catches some
simple forms of overrun. Another minor problem is violation
of aliasing rules and that its own internal list of blocks
is prone to corruption.

Another issue with safemalloc is rather the maintenance cost
as the tool has a significant impact on the server code.
Given the magnitude of memory debuggers available nowadays,
especially those that are provided with the platform malloc
implementation, maintenance of a in-house and largely obsolete
memory debugger becomes a burden that is not worth the effort
due to its slowness and lack of support for detecting more
common forms of heap corruption.

Since there are third-party tools that can provide the same
functionality at a lower or comparable performance cost, the
solution is to simply remove safemalloc. Third-party tools
can provide the same functionality at a lower or comparable
performance cost. 

The removal of safemalloc also allows a simplification of the
malloc wrappers, removing quite a bit of kludge: redefinition
of my_malloc, my_free and the removal of the unused second
argument of my_free. Since free() always check whether the
supplied pointer is null, redudant checks are also removed.

Also, this patch adds unit testing for my_malloc and moves
my_realloc implementation into the same file as the other
memory allocation primitives.
2010-07-08 18:20:08 -03:00
Luis Soares
d09b73c8b8 WL 5408: automerged bzr bundle from original commit. 2010-06-23 11:17:59 +01:00
Magne Mahre
3ac6a4b451 WL#5349 Change default storage engine to InnoDB
The default storage engine is changed from MyISAM to
InnoDB, in all builds except for the embedded server.

In addition, the following system variables are 
changed:

  * innodb_file_per_table is enabled
  * innodb_strict_mode is enabled
  * innodb_file_format_name_update is changed
    to 'Barracuda'

The test suite is changed so that tests that do not
explicitly include the have_innodb.inc are run with
--default-storage-engine=MyISAM.  This is to ease the
transition, so that most regression tests are run
with the same engine as before.

Some tests are disabled for the embedded server
regression test, as the output of certain statements
will be different that for the regular server
(i.e SELECT @@default_storage_engine).  This is to
ease transition.
2010-06-17 22:51:35 +02:00
Tor Didriksen
407da94893 Bug #53261 MTR tests archive_plugin and blackhole_plugin fail when compiling with cmake
Let mtr lookup the plugins, rather than hard-coding autotools lib path.
2010-06-14 11:23:49 +02:00
Luis Soares
2745978a9e WL#5408: Reduce Pushbuild2 turnaround times for rpl suite.
This patch aims at moving some rpl tests to be run on a daily
basis instead of running on a per push basis. To accomplish such
goal the following modifications are proposed:

- MTR: added --skip-test-list cli parameter

  This option allows the user to specify more than one
  disabled.def file, for example:

  perl mtr --skip-test-list=list1.list --skip-test-list=list2.list

- Added collections/disabled-per-push.list

  This file lists the test cases that should be disabled per
  push.

- Changed mysql-test/collections/default.push

  Added --skip-test-list=collections/disabled-per-push.list
  to rpl_binlog_row, ps_row and n_mix runs.

- Changed mysql-test/collections/default.daily

  Added rpl_binlog_row run (since it is partially run per push we
  should run it fully on a daily basis).
2010-06-02 13:01:42 +01:00
Horst.Hunger
7e84f28c74 merge of patch for bug#52913 from 5.1-bugteam to trunk-bugfixing. Changed $basedir to $bindir in mysql-test-run.pl. 2010-06-04 11:31:03 +02:00
Horst.Hunger
b6a4e25c7d Patch for trunk after merge from 5.1-bugteam of bug52913. 2010-06-03 11:27:27 +02:00
Alexander Nozdrin
f54464035a Fix for Bug#53925 (valgrind failures in rpl.rpl_get_master_version_and_clock
in mysql-trunk-merge).

There were two problems:
  - a mistake during merge of a patch for Bug 52629 from 5.1;
  - MTR treated auxilary output of newer valgrind as an error.

The fixes are:
  - Fix merge error;
  - Teach MTR to skip 'HEAP summary' section of valgrind output.
2010-05-24 22:57:25 +04:00
Magnus Blåudd
fda5004d36 Merge in fix for bug#42589 2010-03-15 14:57:20 +01:00
Vladislav Vaintroub
d6f8da6e8a merge 2010-02-20 11:23:12 +01:00
Bjorn Munch
3687803e11 upmerge 51135 2010-02-18 09:09:08 +01:00
Bjorn Munch
a9af3b51a9 upmerge 51135 2010-02-18 09:02:38 +01:00
Bjorn Munch
4d5c86fb27 Bug #51135 Please increase the maximum number of connections allowed in mysqltest
Added --max-connections= argument to mysqltest and mtr
Small fix to first patch: forgot to check before free'ing connections array
2010-02-17 16:28:02 +01:00
Bjorn Munch
3796d78eb5 merge 44054 2010-02-17 13:12:30 +01:00
Bjorn Munch
584a6e7425 merge 44054 2010-02-17 13:09:48 +01:00
Bjorn Munch
db1f4e0bf9 Bug #44054 MTR2: --no-reorder does not prevent reordering
Some logic would group by suite always
Disable this if using --noreorder
Also fix getting array from collect_one_suite() in this case
Amended according to previous comment
2010-02-17 12:37:37 +01:00
Bjorn Munch
a748b2bf21 upmerge 31602,47389,50618 2010-02-11 14:35:54 +01:00
Bjorn Munch
7c34cd2ea2 upmerge 31602,47389,50618 2010-02-11 14:33:21 +01:00
Bjorn Munch
5aa74ebab9 merge 31602 2010-02-11 14:00:34 +01:00
Bjorn Munch
445596a12c Bug #47389 Innodb tests are skipped when running as unix root user
Add --user=root to collect_mysqld_features() if running as root
Please disregard previous commit; this is much simpler.
2010-02-11 11:22:07 +01:00
Vladislav Vaintroub
be65bc9917 merge 2010-02-06 17:13:42 +01:00
Bjorn Munch
aed6da87c8 Bug #31602 mysql-test-run.pl seems to have problems with file names including spaces.
Too complex/risky to try to fix
Instead, detect the problem and communicate that this is not supported
2010-02-03 15:11:52 +01:00
Alexander Nozdrin
ddc8765a9e Manual merge from mysql-trunk-merge.
Conflicts:
  - mysql-test/suite/rpl/r/rpl_binlog_grant.result
  - mysql-test/suite/rpl/r/rpl_sp.result
  - mysql-test/suite/rpl/t/rpl_binlog_grant.test
  - sql/sql_parse.cc
  - sql/sql_table.cc
  - sql/sql_test.cc
2010-01-31 01:06:50 +03:00
Bjorn Munch
cf72d8679a merge 49210 2010-01-28 15:19:18 +01:00
Bjorn Munch
f86766c82b upmerge 49210 2010-01-28 13:02:19 +01:00
Bjorn Munch
a09d8b7802 upmerge 49210 2010-01-28 13:01:01 +01:00
Bjorn Munch
f363fece5e Bug #49210 Enable MTR timeout configuration through environment variables
Define env. vars for both timeout settings
Also incorporated 5.0 patch into mtr version 1
2010-01-27 16:32:59 +01:00
Bjorn Munch
6e351da89b Bug #49210 Enable MTR timeout configuration through environment variables
Define env. vars for both timeout settings
  This patch is for 5.0 (mtr v1) and should replaces for 5.1 up
2010-01-27 15:21:41 +01:00
Bjorn Munch
7dde8d567c upmerge 50182, 50540 2010-01-25 11:30:31 +01:00
Bjorn Munch
fe2dffeede upmerge 50182, 50540 2010-01-25 11:24:22 +01:00
Bjorn Munch
efd5ecb0e0 Bug #50182 mtr: allow $MTR_PORT_BASE or --port-base= as alternative to MTR_BUILD_THREAD
As suggested, convert internally to value of build_thread
2010-01-25 11:20:52 +01:00
Bernd Ocklin
bcc97357f1 fix LD_LIBRARY_PATH (bug#50540) 2010-01-22 14:12:17 +01:00
Bjorn Munch
da1aab425b merge from next-mr 2010-01-19 13:35:23 +01:00
Vladislav Vaintroub
6e7a75bf5f merge 2010-01-14 16:07:27 +01:00
Marc Alff
67a48e1a4c WL#2360 Performance schema
Part V: performance schema implementation
2010-01-11 18:47:27 -07:00
Bjorn Munch
a7dc95fbd1 backport some changes from WL 4378 2010-01-07 13:19:09 +01:00
Bjorn Munch
be128c547f backport some changes from WL 4378 2010-01-07 13:17:54 +01:00
Bjorn Munch
e9313022c2 merge 48863,49269,49345,49672,49761 2010-01-06 10:01:11 +01:00
Bjorn Munch
afdaf6d9df merge 48863,49269,49345,49672,49761 2010-01-06 09:57:44 +01:00
Bjorn Munch
fcb43b2956 merge 49345 2010-01-06 09:54:43 +01:00
Bjorn Munch
dc3a76b2da merge 49672 2010-01-06 09:52:55 +01:00
Bjorn Munch
1ae30d113d Bug #49345 re-introduce gprof to mysql-test-run.pl
Was available in v1
Porting to v2 required some rewriting
Updated after review comments
2010-01-05 21:35:50 +01:00
Vladislav Vaintroub
2def71f0c1 Fix mysqld--help to ignore optional engines 2010-01-05 13:55:58 +01:00
Bjorn Munch
eec8deed8b Bug #49166 mtr --combination is broken after restrictions of combination names
Combinations beginning with -- not allowed
Allow them...
2010-01-05 13:31:38 +01:00
Bjorn Munch
658d3f5b16 upmerge 49166 2010-01-05 13:15:27 +01:00
Bjorn Munch
1419268c07 upmerge 49166 2010-01-05 13:13:16 +01:00
Bjorn Munch
c7a1f5212c Bug #49166 mtr --combination is broken after restrictions of combination names
Combinations beginning with -- not allowed
Allow them...
2010-01-05 13:05:00 +01:00
Bjorn Munch
a7b2a1ff99 merge from mysql-next-mr 2010-01-04 14:12:30 +01:00
Bjorn Munch
1b6006257c merge from mysql-trunk 2010-01-04 13:50:48 +01:00
Vladislav Vaintroub
e8bdef8fcd merge 2009-12-25 16:49:21 +01:00