Bug #51190 rpl.rpl_slave_load_remove_tmpfile fails if 'var' is a symlink
Submitted: 15 Feb 2010 13:43 Modified: 10 Mar 2010 14:20
Reporter: Alexander Nozdrin Email Updates:
Status: Closed Impact on me:
None 
Category:Tests: Replication Severity:S7 (Test Cases)
Version:6.0 OS:Any
Assigned to: Luis Soares CPU Architecture:Any
Tags: regression

[15 Feb 2010 13:43] Alexander Nozdrin
Description:
rpl.rpl_slave_load_remove_tmpfile fails if 'mysql-test/var' is a symlink.

How to repeat:
$ cd mysql-test
$ mkdir /tmp/var
$ ln -s /tmp/var
$ ./mtr rpl_slave_load_remove_tmpfile
...
rpl.rpl_slave_load_remove_tmpfile 'stmt' [ fail ]
...
+UNEXPECTED ERROR NUMBER: 1290                         

$ rm var
$ ./mtr rpl_slave_load_remove_tmpfile
...
rpl.rpl_slave_load_remove_tmpfile 'stmt' [ pass ]
...
[15 Feb 2010 14:57] Valeriy Kravchuk
What exact tree are we talking about here? I do not see this test in recent mysql-6.0-codebase, for example.
[15 Feb 2010 17:44] Alexander Nozdrin
mysql-6.0-codebase:
mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test
[15 Feb 2010 21:09] Sveta Smirnova
Thank you for the feedback.

Verified as described using mysql-6.0-codebase-bugfixing. This is recent regression: about week ago update worked fine.
[17 Feb 2010 14:06] Bjørn Munch
The semantics apparently changed with Bug #50474, there is nothing MTR can do about this; the server apparently does behave differently. The unexpected error is 1290: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement.

The test has to be rewritten somehow, but I don't have the expertise to know how.
[19 Feb 2010 17:39] 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/100904

2937 Luis Soares	2010-02-19
      BUG#51190: rpl.rpl_slave_load_remove_tmpfile fails if 'var' is a
      symlink
      
      The test case would fail when mysql-test/var was set to a
      symbolic link.
      
      We fix this by making different faul injections for windows and
      unix like environments. For Unix like environmens, we revert to
      fault injection precodure existing before BUG#50474.
[24 Feb 2010 18:17] 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/101363

2937 Luis Soares	2010-02-24
      BUG#51190: rpl.rpl_slave_load_remove_tmpfile fails if 'var' is a
      symlink
      
      The test case would fail when mysql-test/var was set to a
      symbolic link.
      
      The test injects a fault by removing a file from the filesystem
      before doing the actual load. The problem arose in 6.0-codebase
      because the --slave-load-tmpdir check was performed before the
      stating of the file would take place. In earlier
      versions (5.5.99-m3) stating the file comes first. Given this and
      that the file is removed, the fn_format - which is called right
      before the slave-load-tmpdir check - will not return the real
      path. Since we are not stating the file before checking the
      slave-load-tmpdir condition, it will fail with:
      ER_OPTION_PREVENTS_STATEMENT instead of failing with a "Can't
      stat file" error.
      
      We fix this by moving the code block that stats the file to be
      before the slave-load-tmpdir check. Actually, this becomes the
      same as in 5.5.99-m3 and as it used to be in earlier revisions in
      6.0.
[10 Mar 2010 13:38] Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20100310133305-0jdlngbtrkoqzckh) (version source revid:alik@sun.com-20100310132404-uqarl0o0vlra2kjx) (merge vers: 6.0.14-alpha) (pib:16)
[10 Mar 2010 14:20] Jon Stephens
Change was in testing code only, no end-user changes to document.

Closed without further action.
[9 Feb 2011 10:19] Bjørn Munch
This has now shown up again, see Bug #60044.