1
0
mirror of https://github.com/MariaDB/server.git synced 2025-10-24 07:13:33 +03:00
Commit Graph

9 Commits

Author SHA1 Message Date
Konstantin Osipov
f74c9dd04d Merge next-mr -> next-4284. 2010-02-03 17:10:36 +03:00
Tor Didriksen
2ac6690200 Follup fix for WL#4738 2010-01-06 16:21:43 +01:00
Jon Olav Hauglid
0bd5741022 Backport of revno: 2617.68.18
Bug #42147 Concurrent DML and LOCK TABLE ... READ for InnoDB 
           table cause warnings in errlog

Concurrent execution of LOCK TABLES ... READ statement and DML statements 
affecting the same InnoDB table on debug builds of MySQL server might lead 
to "Found lock of type 6 that is write and read locked" warnings appearing 
in error log.

The problem is that the table-level locking code allows a thread to acquire
TL_READ_NO_INSERT lock on a table even if there is another thread which holds 
TL_WRITE_ALLOW_WRITE lock on the same table. At the same time, the locking
code assumes that that such locks are incompatible (for example, see check_locks()).

This doesn't lead to any problems other than warnings in error log for
debug builds of server since for InnoDB tables TL_READ_NO_INSERT type of
lock is only used for LOCK TABLES and for this statement InnoDB also
performs its own table-level locking.

Unfortunately, the table lock compatibility matrix cannot be updated to disallow
TL_READ_NO_INSERT when another thread holds TL_WRITE_ALLOW_WRITE without 
causing starvation of LOCK TABLE READ in InnoDB under high write load. 
This patch therefore contains no code changes.

The issue will be fixed later when LOCK TABLE READ has been updated
to not use table locks. This bug will therefore be marked as 
"To be fixed later".

Code comment in thr_lock.c expanded to clarify the issue and a 
test case based on the bug description added to innodb_mysql_lock.test.
Note that a global suppression rule has been added to both MTR v1 and v2
for the "Found lock of type 6 that is write and read locked" warning.
These suppression rules must be removed once this bug is properly fixed.
2009-12-09 16:13:00 +01:00
Luis Soares
625ddcd5ec BUG#48048: Deprecated constructs need removal in Betony
Post-push fix: Removed MTRv1 arguments according to the
original patch. Although there is a version check, the patch
was pushed to a 5.1 GA staging tree, while the version check 
considers version 5.2. This makes the deprecated parameters 
to be used, despite the fact that they are not valid anymore.

Part of MTRv1 is currently used in RQG semisync test, and this
was causing the test to fail on slave startup.

It should be safe to uncomment when merging up to celosia.
2009-11-16 12:17:19 +00:00
Bjorn Munch
252c37a639 Bug #45698 MTR_VERSION=1 ./mtr --force does not work
Small amendment to original fix, as it did not work in azalea
Need to handle combinations, would eventually break in 5.1 too
2009-07-31 11:22:57 +02:00
Bjorn Munch
b9720c7170 Bug #45700 MTR v1 --start-and-exit --default-storage-engine=Innodb is froken
Change of variable states in Bug 19027 was not backported to v1
Changed ne "TRUE" to eq "OFF"
2009-07-17 10:41:04 +02:00
Bjorn Munch
5a2d043f1d Bug #45698 MTR_VERSION=1 ./mtr --force does not work
General problem: some test cannot run in V1, expect more in future
Implement general mechanism for listing incompatible tests
2009-07-16 14:05:46 +02:00
Magnus Svensson
06fdd29404 Bug#40742 MTR_VERSION=1 perl mysql-test-run.pl --start-and-exit rpl_alter does not work
mysql-test/lib/v1/mtr_cases.pl:
  The combinations file in suite uses my.cnf file syntax - thus the options in the
  combinations file should not have -- prefixed.
  Add -- to the option while reading it from file.
2008-11-14 15:39:12 +01:00
Magnus Svensson
b454d067cb WL#4189 Add full backward compatibility to mysql-test-run.pl
- Add copy of mtr v1 and make it possible to run it using MTR_VERSION=1
2008-11-14 09:45:32 +01:00