1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-18 10:22:14 +03:00
Files
mariadb/mysql-test/t
Alexander Nozdrin c784ee2782 Patch for Bug#52356: query_cache_debug fails on Linux.
There were two problems here:
  1. misleading error message
  2. abusing KILL QUERY in the test case

1. The server reported "'DELETE FROM t1' failed: 1689: Wait on a lock was
aborted due to a pending exclusive lock", while the proper error message
should be "'DELETE FROM t1' failed: 1317: Query execution was interrupted".

The problem is that the server has two different flags for
signalling that a query is being killed: THD::killed and
mysys_var::abort. The test case triggers a race: sometimes
mysys_var::abort is set earlier than THD::killed. That leads
to the following situation:

  - thr_lock() checks mysys_var::abort and returns error status,
    since mysys_var::abort is set;

  - the caller (mysql_lock_tables()) gets an error from thr_lock(),
    but THD::killed is not set, so it decides that thr_lock() couldn't
    get a lock due to a pending exclusive lock.

This is a known issue with the server and it's not going to be fixed soon.

5.5 differs from 5.1 here as follows: when thr_lock() returns an error:
  - 5.1 continues trying thr_lock() until success;
  - 5.5 propagates the error

2. The test case uses KILL QUERY is a highly concurent environment.

The fix is to wait for the dying statement to rest in peace before
executing another DELETE FROM t1.
2010-04-30 16:12:41 +04:00
..
2009-08-20 14:30:59 +02:00
2010-02-25 23:13:11 +04:00
2010-01-11 18:47:27 -07:00
2010-02-06 13:28:06 +03:00
2010-02-24 16:52:27 +03:00
2010-02-24 13:15:34 +04:00
2010-02-24 13:15:34 +04:00
2010-02-24 13:15:34 +04:00
2010-02-24 13:15:34 +04:00
2010-02-24 13:15:34 +04:00
2010-02-02 02:22:16 +03:00
2010-04-19 15:35:13 +02:00
2009-12-08 10:53:40 +03:00
2009-12-09 18:56:34 +03:00
2010-04-13 19:04:45 +04:00
2010-04-13 19:04:45 +04:00
2010-04-13 19:04:45 +04:00
2010-03-10 12:22:08 +02:00
2010-02-11 18:32:53 +01:00
2009-10-19 14:58:13 +02:00
2009-05-06 15:00:14 +05:30
2010-01-15 15:42:15 +04:00
2010-01-15 15:42:15 +04:00
2010-02-26 13:02:57 +04:00
2010-02-02 02:22:16 +03:00
2009-12-03 23:08:27 +03:00
2009-09-04 15:20:58 +02:00
2009-11-30 19:09:42 +03:00
2009-12-03 02:09:22 +03:00
2010-04-20 10:51:50 +02:00
2009-12-24 10:56:13 +03:00
2009-11-17 17:08:37 +01:00
2010-04-13 19:04:45 +04:00
2009-12-10 17:38:01 +02:00
2009-10-19 14:58:13 +02:00
2009-09-04 15:20:58 +02:00
2009-08-12 12:03:05 +02:00
2010-02-02 12:22:17 +03:00
2010-02-24 00:22:19 -07:00
2009-11-02 21:05:42 +01:00
2009-12-29 15:19:05 +03:00
2010-02-06 13:28:06 +03:00
2010-02-06 13:28:06 +03:00
2009-12-03 23:08:27 +03:00
2009-11-20 22:51:12 +03:00
2009-09-10 03:18:29 -06:00
2009-09-10 03:18:29 -06:00
2009-09-10 03:18:29 -06:00
2009-09-10 03:18:29 -06:00
2009-09-10 03:18:29 -06:00
2009-09-10 03:18:29 -06:00
2010-04-19 15:35:13 +02:00
2009-09-29 14:16:23 +03:00
2009-12-29 15:19:05 +03:00
2009-07-03 10:19:32 +02:00
2010-04-19 15:35:13 +02:00
2009-11-27 18:10:28 +02:00
2010-04-13 19:04:45 +04:00
2010-04-13 19:04:45 +04:00
2010-04-13 19:04:45 +04:00
2010-04-13 19:04:45 +04:00
2010-04-13 19:04:45 +04:00
2009-12-03 23:08:27 +03:00
2009-12-11 15:24:23 +03:00
2010-02-20 12:40:21 +03:00
2010-02-24 16:52:27 +03:00