Commit graph

43990 commits

Author SHA1 Message Date
brian@zim.(none)
9a2a7071be Added pre and post option to test run (allows me to adjust an engine once all of the data has been loaded).
Kinda obvious that this was going to come up ;)
2007-03-26 02:24:49 -07:00
brian@zim.(none)
34b2658788 Bug in windows where attr was not working. Removed. 2007-03-16 23:50:48 -07:00
brian@zim.(none)
6d0286c854 Merge zim.(none):/home/bk/mysql-5.1-arch
into  zim.(none):/home/brian/mysql/slap-5.1
2007-03-16 19:06:10 -07:00
brian@zim.(none)
786f9de976 Cleanup of prototype for windows. 2007-03-16 19:05:11 -07:00
brian@zim.(none)
da069cfb1c Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1-arch
into  zim.(none):/home/bk/mysql-5.1-arch
2007-03-16 15:26:02 -07:00
brian@zim.(none)
e246cb3d80 The pthread() support was not working. Once I fixed use-thread in a previous push I realized that the pthread/windows code was not working. I've replaced the fork/thread design with a pure pthread design using condition timers and broadcast.
Ramification, UNIX now uses thread, support for slaves had to be dropped and there is no need for the --use-threads flag.
Added --concurrency=0 option so that it will start at 1 and keep going up until something bad happens :)
2007-03-16 15:20:22 -07:00
baker@bk-internal.mysql.com
83fc548084 Merge bk-internal.mysql.com:/data0/bk/mysql-5.1
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-arch
2007-03-16 17:28:16 +01:00
brian@zim.(none)
45d7dff67d Correctly report load type.
Updated engine to also handle create options
Secondary indexes can now be generated (aka the test PeterZ thoughts!)
2007-03-15 23:39:07 -07:00
joerg@trift2.
4042389179 Merge trift2.:/MySQL/M50/mysql-5.0
into  trift2.:/MySQL/M51/mysql-5.1
2007-03-15 22:34:35 +01:00
svoj@april.(none)
0360086836 Merge mysql.com:/home/svoj/devel/bk/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/bk/mysql-5.1-engines
2007-03-16 01:34:33 +04:00
jbruehe/mysqldev@mysql.com/production.mysql.com
6d99387502 Raise version number after cloning 5.0.38 2007-03-15 22:28:31 +01:00
svoj@mysql.com/april.(none)
8b325697dd Merge mysql.com:/home/svoj/devel/bk/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/bk/mysql-5.0-engines
2007-03-16 01:28:29 +04:00
dlenev@mockturtle.local
e25ea78fd4 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  mockturtle.local:/home/dlenev/src/mysql-4.1-merge
2007-03-15 14:31:34 +03:00
dlenev@mockturtle.local
4f46196db9 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mockturtle.local:/home/dlenev/src/mysql-5.0-merge
2007-03-15 14:00:50 +03:00
dlenev@mockturtle.local
bb233cb349 Merge mockturtle.local:/home/dlenev/src/mysql-5.0-bg25966-2
into  mockturtle.local:/home/dlenev/src/mysql-5.1-bg25966
2007-03-15 11:55:15 +03:00
dlenev@mockturtle.local
e4f88d5215 Merge mockturtle.local:/home/dlenev/src/mysql-4.1-bg25966
into  mockturtle.local:/home/dlenev/src/mysql-5.0-bg25966-2
2007-03-15 11:53:04 +03:00
dlenev@mockturtle.local
01bd08b5d7 Fix for bug #25966 "2MB per second endless memory consumption after LOCK
TABLE ... WRITE".

Memory and CPU hogging occured when connection which had to wait for table
lock was serviced by thread which previously serviced connection that was
killed (note that connections can reuse threads if thread cache is enabled).
One possible scenario which exposed this problem was when thread which
provided binlog dump to replication slave was implicitly/automatically
killed when the same slave reconnected and started pulling data through
different thread/connection.
The problem also occured when one killed particular query in connection
(using KILL QUERY) and later this connection had to wait for some table
lock.

This problem was caused by the fact that thread-specific mysys_var::abort
variable, which indicates that waiting operations on mysys layer should
be aborted (this includes waiting for table locks), was set by kill
operation but was never reset back. So this value was "inherited" by the
following statements or even other connections (which reused the same
physical thread). Such discrepancy between this variable and THD::killed
flag broke logic on SQL-layer and caused CPU and memory hogging.

This patch tries to fix this problem by properly resetting this member.

There is no test-case associated with this patch since it is hard to test
for memory/CPU hogging conditions in our test-suite.
2007-03-15 11:51:35 +03:00
dlenev@mockturtle.local
f2cb664174 Fix for bug #25966 "2MB per second endless memory consumption after LOCK
TABLE ... WRITE".

CPU hogging occured when connection which had to wait for table lock was
serviced by thread which previously serviced connection that was killed
(note that connections can reuse threads if thread cache is enabled).
One possible scenario which exposed this problem was when thread which
provided binlog dump to replication slave was implicitly/automatically
killed when the same slave reconnected and started pulling data through
different thread/connection.
In 5.* versions memory hogging was added to CPU hogging. Moreover in
those versions the problem also occured when one killed particular query
in connection (using KILL QUERY) and later this connection had to wait for
some table lock.

This problem was caused by the fact that thread-specific mysys_var::abort
variable, which indicates that waiting operations on mysys layer should
be aborted (this includes waiting for table locks), was set by kill
operation but was never reset back. So this value was "inherited" by the
following statements or even other connections (which reused the same
physical thread). Such discrepancy between this variable and THD::killed
flag broke logic on SQL-layer and caused CPU and memory hogging.

This patch tries to fix this problem by properly resetting this member.

There is no test-case associated with this patch since it is hard to test
for memory/CPU hogging conditions in our test-suite.
2007-03-15 11:30:17 +03:00
dlenev@mockturtle.local
d9d887ad6d Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  mockturtle.local:/home/dlenev/src/mysql-5.1-bg25966
2007-03-15 11:00:54 +03:00
kent@kent-amd64.(none)
e94d8cc141 Merge mysql.com:/home/kent/bk/tmp/mysql-5.0-build
into  mysql.com:/home/kent/bk/tmp/mysql-5.1-build
2007-03-14 18:34:15 +01:00
kent@mysql.com/kent-amd64.(none)
eda2d801ef Merge mysql.com:/home/kent/bk/tmp/mysql-4.1-build
into  mysql.com:/home/kent/bk/tmp/mysql-5.0-build
2007-03-14 18:32:06 +01:00
kent@mysql.com/kent-amd64.(none)
760a73102f Merge mysql.com:/home/kent/bk/tmp/mysql-4.0
into  mysql.com:/home/kent/bk/tmp/mysql-4.1-build
2007-03-14 18:28:52 +01:00
kent@mysql.com/kent-amd64.(none)
7c4385c4ad EXCEPTIONS-CLIENT:
Updated to version 0.6 of the text
2007-03-14 18:28:16 +01:00
kent@kent-amd64.(none)
ac91a4a89f Merge mysql.com:/home/kent/bk/tmp/mysql-5.0-build
into  mysql.com:/home/kent/bk/tmp/mysql-5.1-build
2007-03-14 14:37:50 +01:00
kent@kent-amd64.(none)
52ef6aa5ed Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/home/kent/bk/tmp/mysql-5.1-build
2007-03-14 14:32:30 +01:00
kent@mysql.com/kent-amd64.(none)
201e58d14e Merge mysql.com:/home/kent/bk/tmp/mysql-4.1-build
into  mysql.com:/home/kent/bk/tmp/mysql-5.0-build
2007-03-14 14:31:44 +01:00
kent@mysql.com/kent-amd64.(none)
aea42a5444 Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/kent/bk/tmp/mysql-5.0-build
2007-03-14 14:30:54 +01:00
kent@mysql.com/kent-amd64.(none)
e51c32f0b7 Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/home/kent/bk/tmp/mysql-4.1-build
2007-03-14 14:30:12 +01:00
kent@mysql.com/kent-amd64.(none)
6b72b54716 Merge mysql.com:/home/kent/bk/tmp/mysql-4.0
into  mysql.com:/home/kent/bk/tmp/mysql-4.1-build
2007-03-14 14:29:23 +01:00
kent@mysql.com/kent-amd64.(none)
be226152ab configure.in:
Added test for sched_yield() possibly in -lposix4 on Solaris
2007-03-14 14:27:46 +01:00
istruewing@blade08.mysql.com
b6a66ee829 Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  blade08.mysql.com:/data0/istruewing/autopush/mysql-5.1-bug25460
2007-03-14 11:20:06 +01:00
svoj@april.(none)
94f0977b86 Merge mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-5.1-engines
2007-03-14 04:48:43 +04:00
svoj@mysql.com/april.(none)
d7311aab77 Removed tabs. 2007-03-14 02:30:05 +04:00
brian@zim.(none)
deef4ef274 Added comment, and fixed test. 2007-03-13 10:27:59 -07:00
istruewing@blade08.mysql.com
d3b7fce8cf Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  blade08.mysql.com:/data0/istruewing/autopush/mysql-5.1-bug25460
2007-03-13 17:55:04 +01:00
istruewing@chilla.local
67d97254b0 Bug#25460 - High concurrency MyISAM access causes severe mysqld crash.
The previous two patches for this bug worked together so that
no permanent table was memory mapped. The first patch tried to
avoid mapping while a table is in use. It allowed mapping only
if there was exactly one lock on the table, assuming that the
calling thread owned it. During mi_open(), a different call to
memory mapping was coded, which did not have this limitation.

The second patch tried to remove the code duplication and just
called mi_extra() from mi_open() an thus inherited the limitation.
But on open, a thread does not have a lock on the table...

A possible solution would be to check for zero or one lock.
But since I learned that it is safe to memory map a file while
normal file I/O is done on it, I removed the restriction altogether
and allow to memory map while a table is in use.

No test case. I do not see a chance to verify with the test suite
which kind of I/O is used on a table.
2007-03-13 16:43:45 +01:00
svoj@april.(none)
31329c83c0 Merge mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-5.1-engines
2007-03-13 19:05:35 +04:00
svoj@mysql.com/april.(none)
de21b9b8ef Merge mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-5.0-engines
2007-03-13 18:11:47 +04:00
svoj@mysql.com/april.(none)
cb132bea8f BUG#26881 - Large MERGE tables report incorrect specification when no
differences in tables
Certain merge tables were wrongly reported as having incorrect definition:
- Some fields that are 1 byte long (e.g. TINYINT, CHAR(1)), might
  be internally casted (in certain cases) to a different type on a
  storage engine layer. (affects 4.1 and up)
- If tables in a merge (and a MERGE table itself) had short VARCHAR column (less
  than 4 bytes) and at least one (but not all) tables were ALTER'ed (even to an
  identical table: ALTER TABLE xxx ENGINE=yyy), table definitions went ouf of
  sync. (affects 4.1 only)

This is fixed by relaxing a check for underlying conformance and setting
field type to FIELD_TYPE_STRING in case varchar is shorter than 4
when a table is created.
2007-03-13 18:02:06 +04:00
svoj@april.(none)
00de447127 Merge mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-5.1-engines
2007-03-13 17:11:41 +04:00
svoj@april.(none)
dfc078fc50 Merge mysql.com:/home/svoj/devel/bk/mysql-5.1
into  mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-5.1-engines
2007-03-13 17:08:11 +04:00
svoj@mysql.com/april.(none)
14deaa3f61 Merge mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-5.0-engines
2007-03-13 17:00:48 +04:00
svoj@mysql.com/april.(none)
11384fece2 Merge mysql.com:/home/svoj/devel/bk/mysql-5.0
into  mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-5.0-engines
2007-03-13 16:58:52 +04:00
svoj@mysql.com/april.(none)
576db4f44c Merge mysql.com:/home/svoj/devel/bk/mysql-4.1
into  mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-4.1-engines
2007-03-13 16:57:16 +04:00
brian@zim.(none)
a22406aeab Merge zim.(none):/home/bk/mysql-5.1-arch
into  zim.(none):/home/brian/mysql/slap-5.1
2007-03-13 02:39:58 -07:00
brian@zim.(none)
70fa527d9e Cleaning up 4 pushbuild warnings caught by Windows. 2007-03-13 00:56:30 -07:00
brian@zim.(none)
ef85c23f18 Merge zim.(none):/home/brian/mysql/slap-5.1
into  zim.(none):/home/bk/mysql-5.1-arch
2007-03-12 22:18:00 -07:00
kent@mysql.com/kent-amd64.(none)
25e91313c9 Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0-build
into  mysql.com:/home/kent/bk/tmp/mysql-5.0-build
2007-03-12 21:32:59 +01:00
kent@kent-amd64.(none)
abde3576d6 Merge mysql.com:/home/kent/bk/tmp/mysql-5.0-build
into  mysql.com:/home/kent/bk/tmp/mysql-5.1-build
2007-03-12 21:29:48 +01:00
kent@mysql.com/kent-amd64.(none)
d6476788fe Merge mysql.com:/home/kent/bk/tmp/mysql-4.1-build
into  mysql.com:/home/kent/bk/tmp/mysql-5.0-build
2007-03-12 21:29:05 +01:00