Bug #53472 Innobackup followed by ibbackup test execution in mtr changes the file format.
Submitted: 6 May 2010 23:27 Modified: 9 Apr 2012 22:43
Reporter: Hema Sridharan Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Enterprise Backup Severity:S3 (Non-critical)
Version:mysql-5.1-meb OS:Linux
Assigned to: CPU Architecture:Any

[6 May 2010 23:27] Hema Sridharan
Description:
* Use extreme_data.inc file to create tables and data
* Now execute innobackup, apply logs and copy-backup to recover the data
* Do the same backup with ibbackup, apply-logs and recover the data
* Create result file and execute the test in mtr. The test will pass but does not do the final cleanup properly thereby not preserving the mtr state for innodb plugin.

How to repeat:
Please find the attached test case and result file. Execute this test in mysql-5.1-meb tree and we get the following result

 
==============================================================================

TEST                                      RESULT   TIME (ms)
------------------------------------------------------------

worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13009
meb.meb_try                              [ pass ]  45181
meb.meb_try 'innodb_plugin'              [ pass ]  45384

MTR's internal check of the test case 'meb.meb_try' failed.
This means that the test case does not preserve the state that existed
before the test case was executed.  Most likely the test case did not
do a proper clean-up.
This is the diff of the states of the servers before and after the
test case was executed:
mysqltest: Logging to '/export/home2/tmp/MEB/mysql-5.1-meb-work/mysql-test/var/tmp/check-mysqld_1.log'.
mysqltest: Results saved in '/export/home2/tmp/MEB/mysql-5.1-meb-work/mysql-test/var/tmp/check-mysqld_1.result'.
mysqltest: Connecting to server localhost:13000 (socket /export/home2/tmp/MEB/mysql-5.1-meb-work/mysql-test/var/tmp/mysqld.1.sock) as 'root', connection 'default', attempt 0 ...
mysqltest: ... Connected.
mysqltest: Start processing test commands from './include/check-testcase.test' ...
mysqltest: ... Done processing test commands.
--- /export/home2/tmp/MEB/mysql-5.1-meb-work/mysql-test/var/tmp/check-mysqld_1.result   2010-05-07 02:06:52.000000000 +0300
+++ /export/home2/tmp/MEB/mysql-5.1-meb-work/mysql-test/var/tmp/check-mysqld_1.reject   2010-05-07 02:07:37.000000000 +0300
@@ -85,7 +85,7 @@
 INNODB_DOUBLEWRITE     ON
 INNODB_FAST_SHUTDOWN   1
 INNODB_FILE_FORMAT     Antelope
-INNODB_FILE_FORMAT_CHECK       Antelope
+INNODB_FILE_FORMAT_CHECK       Barracuda

The INNODB_FILE_FORMAT_CHECK for plugin version 1.0.7 changes to Barracuda format after test execution. I am not able to figure out the root cause for this improper cleanup.

But I noted one thing that this does not happen when innobackup and ibbackup tests are executed in different test files.

Suggested fix:
Ideally the file format should not be changed after the test execution.
[28 May 2010 6:24] Sveta Smirnova
Thank you for the report.

> Please find the attached test case and result file. Execute this test in mysql-5.1-meb
tree and we get the following result

There is no file attached. Please attach them.
[28 May 2010 6:30] Hema Sridharan
Please find the test file to reproduce the issue

Attachment: meb_try.test (application/test, text), 2.94 KiB.

[28 May 2010 6:31] Hema Sridharan
Result file

Attachment: meb_try.result (application/octet-stream, text), 16.88 KiB.

[28 May 2010 8:52] Sveta Smirnova
Thank you for the feedback.

Verified as described.
[9 Apr 2012 22:43] Hema Sridharan
This bug is not reproducible anymore.