diff options
Diffstat (limited to 'mysql-test/t/ssl-big.test')
-rw-r--r-- | mysql-test/t/ssl-big.test | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/mysql-test/t/ssl-big.test b/mysql-test/t/ssl-big.test index 099c64df08f..91103f1d782 100644 --- a/mysql-test/t/ssl-big.test +++ b/mysql-test/t/ssl-big.test @@ -4,12 +4,15 @@ -- source include/have_ssl.inc -- source include/big_test.inc +# Save the initial number of concurrent sessions +--source include/count_sessions.inc + --disable_warnings DROP TABLE IF EXISTS t1, t2; --enable_warnings # -# Bug #29579 Clients using SSL can hang the server +# Bug#29579 Clients using SSL can hang the server # connect (ssl_con,localhost,root,,,,,SSL); @@ -18,7 +21,7 @@ create table t1 (a int); disconnect ssl_con; - + --disable_query_log --disable_result_log @@ -26,31 +29,36 @@ let $count= 2000; while ($count) { connect (ssl_con,localhost,root,,,,,SSL); - + eval insert into t1 values ($count); dec $count; - - # This select causes the net buffer to fill as the server sends the results + + # This select causes the net buffer to fill as the server sends the results # but the client doesn't reap the results. The results are larger each time # through the loop, so that eventually the buffer is completely full # at the exact moment the server attempts to the close the connection with # the lock held. send select * from t1; - + # now send the quit the command so the server will initiate the shutdown. - send_quit ssl_con; - + send_quit ssl_con; + # if the server is hung, this will hang too: connect (ssl_con2,localhost,root,,,,,SSL); - + # no hang if we get here, close and retry disconnect ssl_con2; disconnect ssl_con; -} +} --enable_query_log --enable_result_log connect (ssl_con,localhost,root,,,,,SSL); drop table t1; +connection default; +disconnect ssl_con; + +# Wait till all disconnects are completed +--source include/wait_until_count_sessions.inc |