Bug #45877 | Implementation of backup_external_non_win does not work | ||
---|---|---|---|
Submitted: | 1 Jul 2009 14:02 | Modified: | 20 Feb 2010 19:00 |
Reporter: | Jørgen Løland | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | Tests: Backup | Severity: | S3 (Non-critical) |
Version: | 5.4, 6.0 | OS: | Any |
Assigned to: | Rafal Somla | CPU Architecture: | Any |
Tags: | experimental |
[1 Jul 2009 14:02]
Jørgen Løland
[1 Jul 2009 17:39]
Sveta Smirnova
Thank you for the report. Verified as described by reading test source code.
[21 Jul 2009 19:21]
Hema Sridharan
It is not possible to write test without using DBD modules. The backup_external_non_win test uses external program mysql_convert_table_format which essentially depends on DBD::mysql installation. It is not possible to write the test by taking inspiration of backup_object_coverage.test. The have_rqg.inc file is sourced in the test file and while execution of test, we define the RQG_HOME to direct to RQG installation. This is completely different than how the backup_external_non_win.test is written. The only way to avoid using DBI and DBD modules is by removing the mysql_convert_table_format external tool from the test. Ideally I won't prefer to do that.
[6 Aug 2009 8:33]
Jørgen Løland
Since this is an interoperability test for convert_table_format combined with backup/restore, it does not make sense to remove that part from this test. However, I don't think this test is executed on any platform at the moment. If this is the case, the test should probably rather be removed than continue to fail.
[12 Nov 2009 13:32]
Rafal Somla
It seems that currently test behaves as expected with respect to the DBI module. It is skipped in environments in which DBI is not present and it executes otherwise. However, if it is not skipped, then the following problem can be seen: CURRENT_TEST: backup.backup_external_non_win_not_falcon sh: --user=root: not found mysqltest: At line 73: command "$MYSQL_CONVERT_TABLE_FORMAT --user=root -S $MASTER_MYSOCK --port=$MASTER_MYPORT --type=innodb db1" failed Output from before failure: exec of ' --user=root -S /export/home2/pb2/test/sb_1-959056-1257965446.33/tmp/OgVycnys0K/mysqld.1.sock --port=13010 --type=innodb db1' failed, error: 256, status: 1, errno: 29 The problem is that variable $MYSQL_CONVERT_TABLE_FORMAT is not set and expands to empty string. Investigating further.
[12 Nov 2009 13:33]
Rafal Somla
Note: I can see the problem in PB on sol10 platform, but I can not repeat it on my local linux box.
[12 Nov 2009 13:42]
Rafal Somla
Test script contains the following lines: source $MYSQLTEST_VARDIR/tmp/mctf.inc; --exec $MYSQL_CONVERT_TABLE_FORMAT --user=root -S $MASTER_MYSOCK --port=$MASTER_MYPORT --type=innodb db1 The mysterious mctf.inc file should set the MYSQL_CONVERT_TABLE_FORMAT variable to point at the utility script. It does that on my box. Apparently, it does not work correctly on other platforms.
[12 Nov 2009 13:48]
Rafal Somla
File mctf.inc is created with perl code in suite/backup/include/backup_ext.inc. This perl code is supposed to detect location of mysql_convert_table_format utility script.
[12 Nov 2009 13:56]
Rafal Somla
Here is a small script which can be used to check how the variable is set by the prolog code. ----------------------->8---------------------- --source suite/backup/include/backup_ext.inc --cat_file $MYSQLTEST_VARDIR/tmp/mctf.inc --echo --echo ==DONE== -----------------------8<----------------------
[13 Nov 2009 10:22]
Rafal Somla
REFINED PROBLEM DESCRIPTION --------------------------- In PB, tests are run in a binary distribution tree which was created with make_binary_distribution script. This binary distribution does not contain the same files as source tree. In particular, it does not contain scripts/mysql_convert_table_format script which is required by backup_external_non_win test. Because of that suite/backup/include/backup_ext.inc sets $MYSQL_CONVERT_TABLE_FORMAT to empty string and test fails when it tries to execute it.
[13 Nov 2009 12:15]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/90340 2890 Rafal Somla 2009-11-13 Bug #45877 Implementation of backup_external_non_win does not work Before: Tests backup_external_non_win* would fail if the mysql_convert_table_format utility could not be found in the tree. After: These tests will be skipped in such case. @ mysql-test/collections/default.experimental Remove tests from experimental list. @ mysql-test/suite/backup/include/backup_ext.inc Source temporary file to set $MYSQL_CONVERT_TABLE_FORMAT variable, so that it does not have to be done by script including this file. @ mysql-test/suite/backup/t/backup_external_non_win.test - Skip test if the mysql_convert_table_format utility could not be found. - No need to source temporary file - variable MYSQL_CONVERT_TABLE_FORMAT is set in backup_ext.inc file. @ mysql-test/suite/backup/t/backup_external_non_win_not_falcon.test - Skip test if the mysql_convert_table_format utility could not be found. - No need to source temporary file - variable MYSQL_CONVERT_TABLE_FORMAT is set in backup_ext.inc file.
[13 Nov 2009 15:42]
Rafal Somla
Pushed into mysql-6.0-backup tree. revid:rafal.somla@sun.com-20091113121039-6vf0iybzrwvag4v8
[20 Feb 2010 9:18]
Bugs System
Pushed into 6.0.14-alpha (revid:ingo.struewing@sun.com-20100218152520-s4v1ld76bif06eqn) (version source revid:ingo.struewing@sun.com-20100119103538-wtp5alpz4p2jayl5) (merge vers: 6.0.14-alpha) (pib:16)
[20 Feb 2010 19:00]
Paul DuBois
Test case changes. No changelog entry needed.