Commit graph

43987 commits

Author SHA1 Message Date
istruewing@chilla.local
32da2907f8 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  chilla.local:/home/mydev/mysql-5.1-bug26782
2007-03-23 10:27:33 +01:00
istruewing@chilla.local
3a726ab6e2 Bug#26782 - Patch: myisamchk -rq creates .MYI.MYI file on packed MyISAM tables
After merge fix
In conjunction with the newest 5.1 we always need to
create a real path name to be able to detect already
open tables.
2007-03-23 10:26:14 +01:00
istruewing@chilla.local
52debcb820 After merge fix 2007-03-22 21:28:28 +01:00
istruewing@chilla.local
1943b5da2c Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  chilla.local:/home/mydev/mysql-5.1-bug26996
2007-03-22 16:57:07 +01:00
istruewing@chilla.local
c0f03fed94 Merge chilla.local:/home/mydev/mysql-5.0-bug26996
into  chilla.local:/home/mydev/mysql-5.1-bug26996
2007-03-21 17:38:42 +01:00
istruewing@chilla.local
4fdafc545d Merge chilla.local:/home/mydev/mysql-4.1-bug26996
into  chilla.local:/home/mydev/mysql-5.0-bug26996
2007-03-21 15:55:14 +01:00
svoj@june.mysql.com
9f3320e2e1 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG25908/mysql-5.1-engines
2007-03-21 17:13:19 +04:00
svoj@mysql.com/june.mysql.com
b88e7e0f97 BUG#25908 - corrupted myisam table crashes server even after repair
Opening certain tables that have different definitions in .MYI and
.frm may result in a server crash.

Compare .MYI and .frm definition when myisam table is opened. In case
definitions are diffirent refuse to open such table.

No test case, since it requires broken table.
2007-03-21 17:12:30 +04:00
istruewing@chilla.local
344f33bb89 Bug#26996 - Update of a Field in a Memory Table ends with wrong result
Using a MEMORY table BTREE index for scanning for updatable rows
could lead to an infinite loop.

Everytime a key was inserted into a btree index, the position
in the index scan was cleared. The search started from the
beginning and found the same key again.

Now we do not clear the position on key insert an more.
2007-03-19 15:56:53 +01:00
istruewing@chilla.local
02d318e4bd Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  chilla.local:/home/mydev/mysql-5.1-bug26782
2007-03-16 16:44:21 +01:00
istruewing@blade08.mysql.com
dba23b56e5 Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  blade08.mysql.com:/data0/istruewing/autopush/mysql-5.1-bug25289
2007-03-16 09:17:12 +01:00
acurtis/antony@ltamd64.xiphis.org
97861f609e Merge xiphis.org:/home/antony/work2/p1-bug25671.3
into  xiphis.org:/home/antony/work2/p1-bug25671.4
2007-03-15 16:28:00 -07:00
istruewing@chilla.local
b1c5288e2e Merge chilla.local:/home/mydev/mysql-5.0-bug25289
into  chilla.local:/home/mydev/mysql-5.1-bug25289
2007-03-15 14:45:25 +01:00
istruewing@chilla.local
81c086a6e5 Merge chilla.local:/home/mydev/mysql-4.1-bug25289
into  chilla.local:/home/mydev/mysql-5.0-bug25289
2007-03-15 13:02:18 +01: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
istruewing@chilla.local
6b7fea5f2b Bug#25289 - repair table causes "my_seek.c:56:
my_seek: Assertion `fd != -1' failed"

In difficult optimize/repair situations the server could crash.
Under some circumstances the server retries an optimize/repair
with more elaborate options. But it did not check if the first
attempt failed so badly that a second one must not be tried.

This could happen when a new data file has been created
but it was not possible to open it. In this case the
repair leaves behind a table with closed data file.
This must not be used for another repair attempt.

We do now detect the closed data file and do not try
another repair attempt in this situation.

No test case. The required table corruption can not be
repeated easily. There is a test program attached to
bug 25433.
2007-03-14 16:27:37 +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
acurtis/antony@xiphis.org/ltamd64.xiphis.org
e4d93c6bcd Bug#25671
"CREATE/DROP/ALTER SERVER should require privileges"
  Add check for SUPER privilege when executing CREATE/DROP/ALTER SERVER.
  Previously, any user even with only USAGE priv can execute those commands.
2007-03-13 11:58:24 -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
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
kent@mysql.com/kent-amd64.(none)
512202a88f configure.in:
Restored accidently removed line to check for zlib
2007-03-12 21:27:07 +01:00
joerg@trift2.
860bebcf2c Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  trift2.:/MySQL/M50/push-5.0
2007-03-12 16:00:35 +01:00