MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:Rafal Somla Date:September 29 2009 2:48pm
Subject:Re: bzr commit into mysql-6.0-backup branch (Rafal.Somla:2875) WL#4766
View as plain text  
Hi Ingo,

Thanks for a careful and quick review. I'll implement all changes you 
suggested before pushing this.

Rafal

Ingo Strüwing wrote:
> 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()) ?
> 

Yes, CEILING is nicer - I changed this.

> ...
>> === 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.
> 

Agree it looks confusing. I disabled logging of lock functions.

> Also I suggest to use "DO release_lock..." instead of "SELECT
> release_lock..." as we don't need the result.
>

Great - I didn't know there is DO command.

> ...
> 
>> === 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.
> 

Yes, that is better.

> 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.
> 

I reported it as BUG#47717 and added comment to the test case.

> 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.
> 

I will try to add options to MTR (such as --big-test) to avoid timeouts. 
Need to test it though.

Rafal

Thread
bzr commit into mysql-6.0-backup branch (Rafal.Somla:2875) WL#4766Rafal Somla28 Sep
  • Re: bzr commit into mysql-6.0-backup branch (Rafal.Somla:2875) WL#4766Ingo Strüwing29 Sep
    • Re: bzr commit into mysql-6.0-backup branch (Rafal.Somla:2875) WL#4766Rafal Somla29 Sep