mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Bug#58221 : mysqladmin --sleep=x --count=x keeps looping
When mysqldadmin is run with sleep and count options, it goes into an infinite loop and keeps executing the specified command. This happened because the statement, responsible for decrementing the count value, was missing. Fixed by adding a statement which will decrement the count value for each iteration. client/mysqladmin.cc: Bug#58221 : mysqladmin --sleep=x --count=x keeps looping Added a condition to check and decrement the count value stored in nr_iterations per iteration. mysql-test/r/mysqladmin.result: Added a testcase for Bug#58221. mysql-test/t/mysqladmin.test: Added a testcase for Bug#58221.
This commit is contained in:
@ -416,6 +416,9 @@ int main(int argc,char *argv[])
|
|||||||
|
|
||||||
if (interval) /* --sleep=interval given */
|
if (interval) /* --sleep=interval given */
|
||||||
{
|
{
|
||||||
|
if (opt_count_iterations && --nr_iterations == 0)
|
||||||
|
break;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
If connection was dropped (unintentionally, or due to SHUTDOWN),
|
If connection was dropped (unintentionally, or due to SHUTDOWN),
|
||||||
re-establish it if --wait ("retry-connect") was given and user
|
re-establish it if --wait ("retry-connect") was given and user
|
||||||
|
@ -2,3 +2,11 @@ mysqld is alive
|
|||||||
mysqladmin: unknown variable 'database=db1'
|
mysqladmin: unknown variable 'database=db1'
|
||||||
Warning: mysqladmin: unknown variable 'loose-database=db2'
|
Warning: mysqladmin: unknown variable 'loose-database=db2'
|
||||||
mysqld is alive
|
mysqld is alive
|
||||||
|
#
|
||||||
|
# Bug#58221 : mysqladmin --sleep=x --count=x keeps looping
|
||||||
|
#
|
||||||
|
# Executing mysqladmin with --sleep=1 and --count=2.
|
||||||
|
# Done.
|
||||||
|
# Displaying the output :
|
||||||
|
mysqld is alive
|
||||||
|
mysqld is alive
|
||||||
|
@ -33,3 +33,15 @@ EOF
|
|||||||
--exec $MYSQLADMIN --defaults-file=$MYSQLTEST_VARDIR/tmp/bug10608.cnf -S $MASTER_MYSOCK -P $MASTER_MYPORT -u root --password= ping 2>&1
|
--exec $MYSQLADMIN --defaults-file=$MYSQLTEST_VARDIR/tmp/bug10608.cnf -S $MASTER_MYSOCK -P $MASTER_MYPORT -u root --password= ping 2>&1
|
||||||
|
|
||||||
remove_file $MYSQLTEST_VARDIR/tmp/bug10608.cnf;
|
remove_file $MYSQLTEST_VARDIR/tmp/bug10608.cnf;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # Bug#58221 : mysqladmin --sleep=x --count=x keeps looping
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
--echo # Executing mysqladmin with --sleep=1 and --count=2.
|
||||||
|
--exec $MYSQLADMIN -u root -S $MASTER_MYSOCK -P $MASTER_MYPORT --sleep=1 --count=2 ping > $MYSQLTEST_VARDIR/tmp/mysqladmin.tmp
|
||||||
|
--echo # Done.
|
||||||
|
--echo # Displaying the output :
|
||||||
|
--cat_file $MYSQLTEST_VARDIR/tmp/mysqladmin.tmp
|
||||||
|
|
||||||
|
--remove_file $MYSQLTEST_VARDIR/tmp/mysqladmin.tmp
|
||||||
|
Reference in New Issue
Block a user