| Bug #76957 | Tests in binlog suite fail with very long paths | ||
|---|---|---|---|
| Submitted: | 6 May 2015 15:23 | Modified: | 13 May 2016 16:35 |
| Reporter: | Justin Tolmer | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | Tools: MTR / mysql-test-run | Severity: | S3 (Non-critical) |
| Version: | 5.6.23 | OS: | Linux |
| Assigned to: | CPU Architecture: | Any | |
[6 May 2015 18:20]
MySQL Verification Team
Hello Justin Tolmer, Thank you for the report. Thanks, Umesh
[6 May 2015 18:21]
MySQL Verification Team
//
[umshastr@hod03]/export/umesh/server/source/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/mysql-5.6.23/Tests_in_binlog_suite_fail_with_very_long_paths/mysql-test: ./mtr binlog.binlog_killed
Logging: /export/umesh/server/source/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/mysql-5.6.23/mysql-test/mysql-test-run.pl binlog.binlog_killed
2015-05-06 20:15:04 4975 [Note] Plugin 'FEDERATED' is disabled.
2015-05-06 20:15:04 4975 [Note] Binlog end
2015-05-06 20:15:04 4975 [Note] Shutting down plugin 'CSV'
2015-05-06 20:15:04 4975 [Note] Shutting down plugin 'MyISAM'
MySQL Version 5.6.23
Too long tmpdir path '/export/umesh/server/source/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/mysql-5.6.23/Tests_in_binlog_suite_fail_with_very_long_paths/mysql-test/var/tmp' creating a shorter one...
- using tmpdir: '/tmp/A7x9KX2YF3'
Checking supported features...
- SSL connections supported
Collecting tests...
- adding combinations for binlog
Removing old var directory...
Creating var directory '/export/umesh/server/source/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/mysql-5.6.23/Tests_in_binlog_suite_fail_with_very_long_paths/mysql-test/var'...
Installing system database...
==============================================================================
TEST RESULT TIME (ms) or COMMENT
--------------------------------------------------------------------------
worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13009
binlog.binlog_killed 'mix' [ skipped ] Doesn't support --binlog-format='mixed'
binlog.binlog_killed 'row' [ skipped ] Doesn't support --binlog-format='row'
binlog.binlog_killed 'stmt' [ fail ]
Test ended at 2015-05-06 20:15:07
CURRENT_TEST: binlog.binlog_killed
--- /export/umesh/server/source/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/mysql-5.6.23/mysql-test/suite/binlog/r/binlog_killed.result 2015-01-19 16:48:30.000000000 +0300
+++ /export/umesh/server/source/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/mysql-5.6.23/Tests_in_binlog_suite_fail_with_very_long_paths/mysql-test/var/log/binlog_killed.reject 2015-05-06 21:15:07.544766517 +0300
@@ -101,8 +101,7 @@
select
(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
is not null;
-(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
-is not null
+(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug
1
select 0 /* must return 0 to mean the killed update is in */;
0
@@ -139,8 +138,7 @@
select
(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
is not null;
-(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
-is not null
+(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug
1
select 0 /* must return 0 to mean the killed delete is in */;
0
mysqltest: Result content mismatch
- saving '/export/umesh/server/source/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/mysql-5.6.23/Tests_in_binlog_suite_fail_with_very_long_paths/mysql-test/var/log/binlog.binlog_killed-stmt/' to '/export/umesh/server/source/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/mysql-5.6.23/Tests_in_binlog_suite_fail_with_very_long_paths/mysql-test/var/log/binlog.binlog_killed-stmt/'
--------------------------------------------------------------------------
The servers were restarted 0 times
Spent 0.000 of 3 seconds executing testcases
Completed: Failed 1/1 tests, 0.00% were successful.
Failing test(s): binlog.binlog_killed
The log files in var/log may give you some hint of what went wrong.
If you want to report this error, please read first the documentation
at http://dev.mysql.com/doc/mysql/en/mysql-test-suite.html
2 tests were skipped, 0 by the test itself.
mysql-test-run: *** ERROR: there were failing test cases
[umshastr@hod03]/export/umesh/server/source/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/mysql-5.6.23/Tests_in_binlog_suite_fail_with_very_long_paths/mysql-test:
[6 May 2015 18:22]
MySQL Verification Team
//
[umshastr@hod03]/export/umesh/server/source/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/mysql-5.6.23/Tests_in_binlog_suite_fail_with_very_long_paths/mysql-test: ./mtr binlog.binlog_stm_mix_innodb_myisam
Logging: /export/umesh/server/source/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/mysql-5.6.23/mysql-test/mysql-test-run.pl binlog.binlog_stm_mix_innodb_myisam
2015-05-06 20:16:56 5385 [Note] Plugin 'FEDERATED' is disabled.
2015-05-06 20:16:56 5385 [Note] Binlog end
2015-05-06 20:16:56 5385 [Note] Shutting down plugin 'CSV'
2015-05-06 20:16:56 5385 [Note] Shutting down plugin 'MyISAM'
MySQL Version 5.6.23
Too long tmpdir path '/export/umesh/server/source/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/mysql-5.6.23/Tests_in_binlog_suite_fail_with_very_long_paths/mysql-test/var/tmp' creating a shorter one...
- using tmpdir: '/tmp/nHIT8FYJFu'
Checking supported features...
- SSL connections supported
Collecting tests...
- adding combinations for binlog
Checking leftover processes...
Removing old var directory...
Creating var directory '/export/umesh/server/source/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/mysql-5.6.23/Tests_in_binlog_suite_fail_with_very_long_paths/mysql-test/var'...
Installing system database...
==============================================================================
TEST RESULT TIME (ms) or COMMENT
--------------------------------------------------------------------------
worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13009
binlog.binlog_stm_mix_innodb_myisam 'mix' [ skipped ] Doesn't support --binlog-format='mixed'
binlog.binlog_stm_mix_innodb_myisam 'row' [ skipped ] Doesn't support --binlog-format='row'
binlog.binlog_stm_mix_innodb_myisam 'stmt' [ fail ]
Test ended at 2015-05-06 20:17:03
CURRENT_TEST: binlog.binlog_stm_mix_innodb_myisam
--- /export/umesh/server/source/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/mysql-5.6.23/mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result 2015-01-19 16:48:30.000000000 +0300
+++ /export/umesh/server/source/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/mysql-5.6.23/Tests_in_binlog_suite_fail_with_very_long_paths/mysql-test/var/log/binlog_stm_mix_innodb_myisam.reject 2015-05-06 21:17:03.609098630 +0300
@@ -443,8 +443,7 @@
select
(@a:=load_file("MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output"))
is not null;
-(@a:=load_file("MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output"))
-is not null
+(@a:=load_file("MYSQLTEST_VARDIR/tmp/mix_innodb_myisam
1
select
@a like "%#%error_code=0%ROLLBACK\n/*!*/;%ROLLBACK /* added by mysqlbinlog */;%" OR
mysqltest: Result content mismatch
- saving '/export/umesh/server/source/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/mysql-5.6.23/Tests_in_binlog_suite_fail_with_very_long_paths/mysql-test/var/log/binlog.binlog_stm_mix_innodb_myisam-stmt/' to '/export/umesh/server/source/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/mysql-5.6.23/Tests_in_binlog_suite_fail_with_very_long_paths/mysql-test/var/log/binlog.binlog_stm_mix_innodb_myisam-stmt/'
--------------------------------------------------------------------------
The servers were restarted 0 times
Spent 0.000 of 7 seconds executing testcases
Completed: Failed 1/1 tests, 0.00% were successful.
Failing test(s): binlog.binlog_stm_mix_innodb_myisam
The log files in var/log may give you some hint of what went wrong.
If you want to report this error, please read first the documentation
at http://dev.mysql.com/doc/mysql/en/mysql-test-suite.html
2 tests were skipped, 0 by the test itself.
mysql-test-run: *** ERROR: there were failing test cases
[umshastr@hod03]/export/umesh/server/source/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/Tests_in_binlog_suite_fail_with_very_long_paths/bug76957/mysql-5.6.23/Tests_in_binlog_suite_fail_with_very_long_paths/mysql-test:
[7 May 2015 16:27]
Justin Tolmer
I've found a few additional tests that have the same problem: binlog.binlog_killed_simulate binlog.binlog_sql_mode main.mysqlbinlog
[13 May 2016 16:35]
Paul DuBois
Posted by developer: Fixed in 5.6.32. Work was done for test suite. No changelog entry needed.

Description: When the mysql-test directory is in a very long path, binlog.binlog_killed and binlog.binlog_stm_mix_innodb_myisam fail due to result mismatch errors because their load_file lines get truncated. Fix by giving the output a shorter column name. @@ -102,7 +102,7 @@ (@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog")) is not null; (@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog")) -is not null +is not nul 1 select 0 /* must return 0 to mean the killed update is in */; 0 @@ -140,7 +140,7 @@ (@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog")) is not null; (@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog")) -is not null +is not nul 1 select 0 /* must return 0 to mean the killed delete is in */; 0 mysqltest: Result content mismatch How to repeat: Clone the git repository into a very long path, build, run the 2 mentioned tests. Suggested fix: Change the .test files from: eval select (@a:=load_file("$MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output")) is not null; to: eval select (@a:=load_file("$MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output")) is not null AS 'Loaded'; so that the column name isn't so long and doesn't get truncated.