From: Tor Didriksen Date: February 23 2011 2:26pm Subject: bzr commit into mysql-5.5 branch (tor.didriksen:3354) Bug#11747102 List-Archive: http://lists.mysql.com/commits/131951 X-Bug: 11747102 Message-Id: <20110223142627.225693793@atum07.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2843059239762396915==" --===============2843059239762396915== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///export/home/didrik/repo/5.5-filesort-kill/ based on revid:nirbhay.choubey@stripped 3354 Tor Didriksen 2011-02-23 Bug #11747102 30771: LOG MORE INFO ABOUT THREADS KILL'D AND SORT ABORTED MESSAGES @ mysql-test/r/filesort_debug.result New test case. @ mysql-test/t/filesort_debug.test New test case. @ sql/filesort.cc thd->killed does not imply thd->is_error(), so test for that separately. modified: mysql-test/r/filesort_debug.result mysql-test/t/filesort_debug.test sql/filesort.cc === modified file 'mysql-test/r/filesort_debug.result' --- a/mysql-test/r/filesort_debug.result 2011-02-02 11:54:49 +0000 +++ b/mysql-test/r/filesort_debug.result 2011-02-23 14:26:23 +0000 @@ -14,3 +14,19 @@ DELETE FROM t1 ORDER BY (f1(10)) LIMIT 1 ERROR 42000: Incorrect number of arguments for FUNCTION test.f1; expected 0, got 1 DROP TABLE t1; DROP FUNCTION f1; +# +# Bug #11747102 +# 30771: LOG MORE INFO ABOUT THREADS KILL'D AND SORT ABORTED MESSAGES +# +# connection 1 +CREATE TABLE t1(f0 int auto_increment primary key, f1 int); +INSERT INTO t1(f1) VALUES (0),(1),(2),(3),(4),(5); +SET DEBUG_SYNC='filesort_start SIGNAL filesort_started WAIT_FOR filesort_killed'; +SELECT * FROM t1 ORDER BY f1 ASC, f0; +# connection 2 +SET DEBUG_SYNC='now WAIT_FOR filesort_started'; +KILL @id; +SET DEBUG_SYNC='now SIGNAL filesort_killed'; +# connection default +SET DEBUG_SYNC= "RESET"; +DROP TABLE t1; === modified file 'mysql-test/t/filesort_debug.test' --- a/mysql-test/t/filesort_debug.test 2011-02-02 11:54:49 +0000 +++ b/mysql-test/t/filesort_debug.test 2011-02-23 14:26:23 +0000 @@ -1,4 +1,6 @@ --source include/have_debug.inc +--source include/have_debug_sync.inc +--source include/count_sessions.inc SET @old_debug= @@session.debug; @@ -21,3 +23,36 @@ DELETE FROM t1 ORDER BY (f1(10)) LIMIT 1 DROP TABLE t1; DROP FUNCTION f1; + +--echo # +--echo # Bug #11747102 +--echo # 30771: LOG MORE INFO ABOUT THREADS KILL'D AND SORT ABORTED MESSAGES +--echo # + +connect (con1, localhost, root); +connect (con2, localhost, root); + +--echo # connection 1 +connection con1; +CREATE TABLE t1(f0 int auto_increment primary key, f1 int); +INSERT INTO t1(f1) VALUES (0),(1),(2),(3),(4),(5); + +let $ID= `SELECT @id := CONNECTION_ID()`; + +SET DEBUG_SYNC='filesort_start SIGNAL filesort_started WAIT_FOR filesort_killed'; +--send SELECT * FROM t1 ORDER BY f1 ASC, f0 + +--echo # connection 2 +connection con2; +let $ignore= `SELECT @id := $ID`; +SET DEBUG_SYNC='now WAIT_FOR filesort_started'; +KILL @id; +SET DEBUG_SYNC='now SIGNAL filesort_killed'; + +--echo # connection default +connection default; +disconnect con1; +disconnect con2; +--source include/wait_until_count_sessions.inc +SET DEBUG_SYNC= "RESET"; +DROP TABLE t1; === modified file 'sql/filesort.cc' --- a/sql/filesort.cc 2011-02-02 11:54:49 +0000 +++ b/sql/filesort.cc 2011-02-23 14:26:23 +0000 @@ -32,6 +32,7 @@ #include "probes_mysql.h" #include "sql_test.h" // TEST_filesort #include "opt_range.h" // SQL_SELECT +#include "debug_sync.h" /// How to write record_ref. #define WRITE_REF(file,from) \ @@ -123,6 +124,7 @@ ha_rows filesort(THD *thd, TABLE *table, Item_subselect *subselect= tab ? tab->containing_subselect() : 0; MYSQL_FILESORT_START(table->s->db.str, table->s->table_name.str); + DEBUG_SYNC(thd, "filesort_start"); /* Release InnoDB's adaptive hash index latch (if holding) before @@ -325,12 +327,13 @@ ha_rows filesort(THD *thd, TABLE *table, } if (error) { - DBUG_ASSERT(thd->is_error()); + int kill_errno= thd->killed_errno(); + DBUG_ASSERT(thd->is_error() || kill_errno); my_printf_error(ER_FILSORT_ABORT, "%s: %s", MYF(ME_ERROR + ME_WAITTANG), ER_THD(thd, ER_FILSORT_ABORT), - thd->stmt_da->message()); + kill_errno ? ER(kill_errno) : thd->stmt_da->message()); if (global_system_variables.log_warnings > 1) { --===============2843059239762396915== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/tor.didriksen@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: tor.didriksen@stripped\ # ilym0ufg5tr03akj # target_branch: file:///export/home/didrik/repo/5.5-filesort-kill/ # testament_sha1: f2b87a2702c76b2e84e258f8a4a729859bbbd01c # timestamp: 2011-02-23 15:26:26 +0100 # base_revision_id: nirbhay.choubey@stripped\ # 1he7tra0ymu1l2bg # # Begin bundle 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 --===============2843059239762396915==--