From: Ingo Strüwing Date: September 29 2009 12:01pm Subject: Re: bzr commit into mysql-6.0-backup branch (Rafal.Somla:2875) WL#4766 List-Archive: http://lists.mysql.com/commits/84984 Message-Id: <4AC1F70F.7010701@sun.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 8BIT Hi Rafal, STATUS: Approved pending changes. REQUIRED: Remove "alter" as discussed on IRC. REQUEST: 3) Please add 'perl' to --exec command. SUGGESTION: 1) Treat get_lock/release_lock symmetrically. OPTION: 2) Isn't this equivalent to CEILING? DETAILS: Rafal Somla, 28.09.2009 13:21: ... > 2875 Rafal Somla 2009-09-28 > WL#4766 - Online Backup : Test different transaction isolation levels > > This patch modifies the vptest of WL#4769 to additionally test the > following: > > 1. Transactions which run in parallel with BACKUP and use various > possible transaction isolation levels. > 2. Running BACKUP in parallel with other transactions and with > different transaction isolation levels in the connection which runs > BACKUP. > 3. Run RESTORE in parallel with transactions which use different > transaction isolation levels. > > Point 1 is tested by changing flightstat_stress_* test to use randomly > selected transaction isolation levels. Point 2 is tested by adding a > --tx-isolation-level parameter to the vptest/run_vp_test.pl script and > invoking it with different levels in the weekly collection. Point 3 is > tested by new restore_stress test which uses mysql-stress-test tool > with the same Flightstats database which is used for tests of WL#4769. ... > === added file 'mysql-test/suite/backup_extra/r/flightstat_stress_init.result' ... > @@ -0,0 +1,8 @@ > +CREATE FUNCTION test.int_rand(num INT) RETURNS INT > +RETURN ROUND(num * RAND() + 0.5); 2) Question: Isn't this equivalent to CEILING(num * RAND()) ? ... > === added file 'mysql-test/suite/backup_extra/r/flightstat_stress_restore.result' ... > @@ -0,0 +1,6 @@ > +RESTORE FROM 'FlightStats.bkp' OVERWRITE; > +backup_id > +# > +SELECT release_lock('flighstat_restore_lock'); > +release_lock('flighstat_restore_lock') > +NULL 1) Looks a little confusing to see release of a lock, but not acquire. I suggest to disable query logging or fake the acquisition with echo. Also I suggest to use "DO release_lock..." instead of "SELECT release_lock..." as we don't need the result. ... > === added file 'mysql-test/suite/backup_extra/t/restore_stress.test' ... > +--exec ./mysql-stress-test.pl $STRESS_OPTS >$STRESS_DIR/stress.log 3) This failed on Windows with: " '.' is not recognized as an internal or external command, operable program or batch file. mysqltest: At line 127: command "./mysql-stress-test.pl $STRESS_OPTS >$STRESS_DIR/stress.log" failed " --exec perl ./mysql-stress-test.pl ... helped. But then: " ERROR: mysqltest binary ../client/mysqltest not found No such file or directory. You must either specify file location explicitly using --mysqltest option, or make sure path to mysqltest binary is listed in your PATH environment variable. mysqltest: At line 127: command "perl ./mysql-stress-test.pl $STRESS_OPTS >$STRESS_DIR/stress.log" failed " On Windows, this is located at ../client/debug/mysqltest. Or replace "debug" by another build type. If this test is meant to run on Windows, we need either to change mysql-stress-test.pl with a function that can locate the required programs on Windows, or change restore_stress.test so that it does the search and provides the paths by options to mysql-stress-test.pl. Unfortunately I couldn't bring the latter to work. mysql-stress-test.pl ignored the --mysqltest option. As agreed on IRC I will take this as a mysql-stress-test.pl bug. After copying mysqltest to where it is expected, the test timed out after 900 seconds. I saw a difference in the session id of show processlist. When the stress test problem is fixed, this patch might need some small fixes too. ... Regards Ingo -- Ingo Strüwing, Database Group Sun Microsystems GmbH, Sonnenallee 1, D-85551 Kirchheim-Heimstetten Geschäftsführer: Thomas Schröder, Wolfgang Engels, Wolf Frenkel Vorsitzender des Aufsichtsrates: Martin Häring HRB München 161028