Hema, thanks, for addressing my latest comments. We are getting there
now. I will approve this now, but I ask you to fix one test failure I
observed and a potential instability. I also hope that you make more
details commit comments, and also specific to each file, in your final
commit.
STATUS
======
Approved with 2 pending requests.
REQUESTS
========
1. I get a test failure if a run backup_logs after another test. E.g,
when I run the entire backup suite, I get:
---
/export/home/tmp/oysteing/mysql/mysql-6.0-backup/mysql-test/suite/backup/r/backup_logs.result
Tue Dec 23 11:09:58 2008
+++
/export/home/tmp/oysteing/mysql/mysql-6.0-backup/mysql-test/suite/backup/r/backup_logs.reject
Tue Dec 23 11:11:55 2008
@@ -52,7 +52,7 @@
SELECT MAX(backup_id) INTO @backup_id_history FROM
mysql.backup_history
WHERE command LIKE "BACKUP DATABASE backup_logs TO%";
Verify the result
-LET =`SELECT @backup_id_history = 270 AS are_identical`
+LET =`SELECT @backup_id_history = 353 AS are_identical`
Verification of backup_id from history table and command is:
1
mysqltest: Result content mismatch
Note that when you echo your statements, do not include the
variable. Instead of:
> +--echo LET $result=`SELECT @backup_id_history = $backup_id AS
are_identical`
you should do:
> +--echo LET $result=`SELECT @backup_id_history = backup_id AS
are_identical`
or something like that.
2. I fear that the following might create infrequent failures:
> +SELECT timediff(start_time, @start_backup) > 0 from
mysql.backup_history
> +WHERE backup_id=500;
> +
> +SELECT timediff(stop_time, @stop_backup) > 0 from
mysql.backup_history
> +WHERE backup_id=500;
I do not think we can guarantee that start_time and @start_backup
is always equal since even if the difference is just a few
microsec, the clock could have increment it seconds part in the
middle. Hence, I think a number greater than 0 needs to be used.
Note also that this assumes that you have control over which is
recorded first of start_time and @start_backup. If not, I guess
you need to use an absolute value here.
SUGGESTIONS
===========
3. As an alternative to this:
> +--echo Verify the result
> +--echo LET $result=`SELECT @backup_id_history = $backup_id AS
are_identical`
> +LET $result=`SELECT @backup_id_history = $backup_id AS
are_identical`;
> +
> +--echo
> +--echo Verification of backup_id from history table and
command is:
> +--echo $result
I suggest this:
> +--echo Verify the backup id
> +--disable query_log
> +--echo SELECT @backup_id_history = backup_id AS are_identical
> +--eval SELECT @backup_id_history = $backup_id AS are_identical
> +--enable_query_log
disable_query_log is used to in order to not expose $backup_id.
The result of the query will still be printed.
--
Øystein
Hema Sridharan wrote:
> #At file:///export/home/tmp/wl-4229/mysql-6.0-backup/ based on
revid:charles.bell@stripped
>
> 2744 Hema Sridharan 2008-12-22
> WL#4229. New patch with some modifications.
> added:
> mysql-test/include/blackhole.inc
> modified:
> mysql-test/suite/backup/r/backup_errors.result
> mysql-test/suite/backup/r/backup_logs.result
> mysql-test/suite/backup/t/backup_errors.test
> mysql-test/suite/backup/t/backup_logs.test
...