summaryrefslogtreecommitdiff
path: root/mysql-test/r/query_cache_debug.result
diff options
context:
space:
mode:
authorDavi Arnaut <davi.arnaut@oracle.com>2011-05-30 12:17:22 -0300
committerDavi Arnaut <davi.arnaut@oracle.com>2011-05-30 12:17:22 -0300
commitc7d2ec7dd5fe02d482c37259d1b5b1f3771c424c (patch)
treec6e8fc19ffa3b80eb7c08228d11d64c95494f7b0 /mysql-test/r/query_cache_debug.result
parentec0b030f263b11b3f1bd2d894e8dde38814ecf78 (diff)
downloadmariadb-git-c7d2ec7dd5fe02d482c37259d1b5b1f3771c424c.tar.gz
Bug#11766349 - 59443: query_cache_debug.test is occasionally very slow
The test case problem stemmed from the fact that a debug sync signal is a global variable that persists until overwritten by a new signal. This means that if two different signals are raised in sequence, a thread waiting for the first signal might miss it if the second signal sets the global variable before the thread wakes up. The solution is to deliver a subsequent signal only after the waiting thread has received it. mysql-test/t/query_cache_debug.test: Wait for signal to be delivered.
Diffstat (limited to 'mysql-test/r/query_cache_debug.result')
-rw-r--r--mysql-test/r/query_cache_debug.result2
1 files changed, 2 insertions, 0 deletions
diff --git a/mysql-test/r/query_cache_debug.result b/mysql-test/r/query_cache_debug.result
index 50a3a02fe4d..ec78fe65802 100644
--- a/mysql-test/r/query_cache_debug.result
+++ b/mysql-test/r/query_cache_debug.result
@@ -153,7 +153,9 @@ SET DEBUG_SYNC="now WAIT_FOR parked1_2";
** until a broadcast signal reaches them causing both threads to
** come alive and check the condition.
SET DEBUG_SYNC="now SIGNAL go2";
+** Wait for thd2 to receive the signal
SET DEBUG_SYNC="now SIGNAL go3";
+** Wait for thd3 to receive the signal
**
** Finally signal the DELETE statement on THD1 one last time.
** The stmt will complete the query cache invalidation and return