Bug #32044 some of the tests (backup, drop, query_cache, etc) will timeout on Windows
Submitted: 2 Nov 2007 5:42 Modified: 25 Feb 2008 18:07
Reporter: Zhenxing He Email Updates:
Status: Closed Impact on me:
None 
Category:Tests: Server Severity:S3 (Non-critical)
Version:5.1 OS:Microsoft Windows
Assigned to: Magnus Blåudd CPU Architecture:Any
Tags: embedded, test
Triage: D3 (Medium)

[2 Nov 2007 5:42] Zhenxing He
Description:
When run mysql test suite on Windows, some of the tests will hang and timeout, these include backup, drop, query_cache, etc.  All these test cases use 'send' command to run queries in parallel, after debug the code, I found the reason is that mysqltest.c is not compiled with EMBEDDED_LIBRARY macro defined when building mysqltest_embedded.exe, so it will not start a new thread when run a  query with 'send' command.

How to repeat:
Run ./mysql-test-run.pl --embedded-server, you will see tests such as bakcup, drop, query_cache, etc  hang and finally timeout.

Suggested fix:
compiled mysqltest.c with EMBEDDED_LIBRARY definition when building mysqltest_embedded target.

The following is a patch for this:

--- mysql-5.1/libmysqld/examples/CMakeLists.txt.fix     2007-11-02 13:39:41.000000000 +0800
+++ mysql-5.1/libmysqld/examples/CMakeLists.txt 2007-11-02 13:39:59.000000000 +0800
@@ -23,6 +23,9 @@
 IF(WIN32)
   ADD_DEFINITIONS(-DUSE_TLS)
 ENDIF(WIN32)
+
+ADD_DEFINITIONS(-DEMBEDDED_LIBRARY)
+
 ADD_EXECUTABLE(mysql_embedded ../../client/completion_hash.cc
                ../../client/mysql.cc ../../client/readline.cc
                ../../client/sql_string.cc)
[2 Nov 2007 5:43] Zhenxing He
forget to mention the exact version I used, mysql-5.1.22-rc, mysql-5.1 bk
[2 Nov 2007 8:27] 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/36943

ChangeSet@1.2600, 2007-11-02 09:27:38+01:00, msvensson@pilot.mysql.com +1 -0
  Bug#32044 some of the tests (backup, drop, query_cache, etc) will timeout on Windows
[2 Nov 2007 8:28] Magnus Blåudd
All the executables built in libmysqld/examples/ need the -DEMBEDDED_LIBRARY define.

Thanks!
[25 Feb 2008 15:59] Bugs System
Pushed into 5.1.24-rc
[25 Feb 2008 16:06] Bugs System
Pushed into 6.0.5-alpha
[25 Feb 2008 18:07] Paul Dubois
Noted in 5.1.24, 6.0.5 changelogs.

On Windows, mysqltest_embedded.exe did not properly execute the send
command.