From 22204807317c467b2f09dd0dcd13898a48501b10 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Mon, 25 Apr 2016 18:59:41 +0200 Subject: [PATCH] MDEV-7775 Wrong error message (Unknown error) when idle sessions are killed after wait_timeout restore the error message that was removed by mistake in ec38c1bbd709 --- mysql-test/r/wait_timeout_not_windows.result | 3 +++ mysql-test/t/wait_timeout_not_windows.test | 15 +++++++++++++++ sql/sql_connect.cc | 3 ++- 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 mysql-test/r/wait_timeout_not_windows.result create mode 100644 mysql-test/t/wait_timeout_not_windows.test diff --git a/mysql-test/r/wait_timeout_not_windows.result b/mysql-test/r/wait_timeout_not_windows.result new file mode 100644 index 00000000000..df70aa99221 --- /dev/null +++ b/mysql-test/r/wait_timeout_not_windows.result @@ -0,0 +1,3 @@ +set global log_warnings=2; +set @@wait_timeout=1; +set global log_warnings=@@log_warnings; diff --git a/mysql-test/t/wait_timeout_not_windows.test b/mysql-test/t/wait_timeout_not_windows.test new file mode 100644 index 00000000000..43ba48e4c43 --- /dev/null +++ b/mysql-test/t/wait_timeout_not_windows.test @@ -0,0 +1,15 @@ +source include/not_windows.inc; + +# +# MDEV-7775 Wrong error message (Unknown error) when idle sessions are killed after wait_timeout +# +set global log_warnings=2; +connect (foo,localhost,root); +set @@wait_timeout=1; +sleep 2; +connection default; +let SEARCH_FILE=$MYSQLTEST_VARDIR/log/mysqld.1.err; +let SEARCH_RANGE= -50; +let SEARCH_PATTERN= Aborted.*Got timeout reading communication packets; +source include/search_pattern_in_file.inc; +set global log_warnings=@@log_warnings; diff --git a/sql/sql_connect.cc b/sql/sql_connect.cc index 16b53da1ebd..61f8b4081eb 100644 --- a/sql/sql_connect.cc +++ b/sql/sql_connect.cc @@ -1092,7 +1092,8 @@ void end_connection(THD *thd) } if (!thd->killed && (net->error && net->vio != 0)) - thd->print_aborted_warning(1, ER(ER_UNKNOWN_ERROR)); + thd->print_aborted_warning(1, + thd->stmt_da->is_error() ? thd->stmt_da->message() : ER(ER_UNKNOWN_ERROR)); }