Hello Serge,
Serge Kozlov a écrit, Le 11/24/2008 11:41 PM:
> #At file:///home/ksm/sun/repo/bug39903/mysql-6.0-rpl/ based on
> revid:aelkin@stripped
>
> 2738 Serge Kozlov 2008-11-25
> Bug#39903
> 1. include/wait_for_status_var.inc: new primitive for waiting value of
> a variable from SHOW STATUS.
> 2. include/maria_empty_log.inc: added waiting of restoring all connections
> to restarted server.
> added:
> mysql-test/include/wait_for_status_var.inc
> modified:
> mysql-test/include/maria_empty_logs.inc
>
> === modified file 'mysql-test/include/maria_empty_logs.inc'
> --- a/mysql-test/include/maria_empty_logs.inc 2008-07-24 18:26:12 +0000
> +++ b/mysql-test/include/maria_empty_logs.inc 2008-11-24 22:41:07 +0000
> @@ -7,6 +7,9 @@
> connection default;
> let $default_db=`select database()`;
> let $MYSQLD_DATADIR= `SELECT @@datadir`;
> +# it will used at end of test for wait_for_status_var.inc primitive
> +let $status_var= Threads_connected;
> +let $status_var_value= query_get_value(SHOW STATUS LIKE 'Threads_connected', Value,
> 1);
>
> connection admin;
> -- echo * shut down mysqld, removed logs, restarted it
> @@ -74,6 +77,8 @@ EOF
> --source include/wait_until_connected_again.inc
>
> connection default;
> +# Make sure that all connections are restored
> +--source include/wait_for_status_var.inc
> # Restore current database as the effect of "use" was lost after restart
> --disable_query_log
> eval use $default_db;
Today it happened (once, not repeatable) that $status_var_value at the
start of the test was 3. I cannot understand this (the test creates only
two connections: "default" and "admin"). Anyway,
include/wait_for_status_var.inc failed because it found only 2
reconnected connections after restart:
+**** ERROR: failed while waiting for Threads_connected 3 ****
+Note: the following output may have changed since the failure was detected
+**** Showing STATUS, PROCESSLIST ****
+SHOW STATUS LIKE 'Threads_connected';
+Variable_name Value
+Threads_connected 2
+SHOW PROCESSLIST;
+Id User Host db Command Time State Info
+1 root localhost mysqltest Sleep 61 NULL
+2 root localhost test Query 0 NULL SHOW
PROCESSLIST
I wonder why there were 3 connections: does mtr/mysqltest maintain an
additional connection to mysqld? Any idea?
This is with the new mtr. It's a rare failure.
--
Mr. Guilhem Bichot <guilhem@stripped>
Sun Microsystems / MySQL, Lead Software Engineer
Bordeaux, France
www.sun.com / www.mysql.com