Bug #7677 | Make test (test suite) wierdness in 4.1.8a | ||
---|---|---|---|
Submitted: | 5 Jan 2005 5:01 | Modified: | 29 Sep 2008 20:59 |
Reporter: | Brian Wright | Email Updates: | |
Status: | Not a Bug | Impact on me: | |
Category: | MySQL Server | Severity: | S3 (Non-critical) |
Version: | 4.1.8a | OS: | Linux (Fedora Core 3) |
Assigned to: | CPU Architecture: | Any |
[5 Jan 2005 5:01]
Brian Wright
[5 Jan 2005 13:36]
MySQL Verification Team
Hi, Thank you for the report, but I can't repeat it. Ran the test suite twice and both were successful.
[5 Jan 2005 20:06]
Brian Wright
So the question is, then, should I be concerned about this failure? Is this a problem with the test suite or of the database? Should it be ok to run the database even though the test suite failed in this way. Also, it now a normal part of the test suite to run it twice? I hadn't seen this before? if so, is there any specific difference between the first run of the test suite and the second? From the behavior of the failure, I have a sneaking suspicion that it's a racing condition failure (i.e., the previous database cleanup and shutdown hadn't completed when the next test suite started). So, it couldn't bind to the port and/or socket it wanted. If it had failed two or three tests into the suite, I wouldn't say this. But, considering it was the very first test in the second run indicates that it likely had problems starting and/or initializing the database for the tests. Thanks.
[5 Jan 2005 20:15]
Brian Wright
Definitely not a racing condition. I cd to mysql-test and type './mysql-test-run --ps-protocol' and I get the same exact failure every time. But, without the --ps-protocol argument, the tests pass. Thanks.
[5 Jan 2005 21:08]
Brian Wright
More specifics about the OS I'm running: # uname -a Linux dbhost 2.6.9-1.667 #1 Tue Nov 2 14:41:25 EST 2004 i686 i686 i386 GNU/Linux # more /etc/redhat-release Fedora Core release 3 (Heidelberg) I haven't added any external packages to the OS other than those that come from up2date (bug fixes, kernel and os updates). Although, it may not be 100% up2date.
[6 Jan 2005 8:56]
Joerg Bruehe
Brian, this is no OS-related bug. You may be aware that in addition to the standard protocol between client and server, MySQL is now implementing a new protocol called 'prepared statements'. This is still on-going work and not yet operational for all kinds of statements. If the client running the tests is started with the option '--ps-protocol', it will use this new protocol. Now we need to test this, and therefore the Makefile target 'test' has been modified to run both tests. You are seeing the effect of this change and the on-going work, and that should not have happened. If you just want to get rid of this effect, you can change the top level 'Makefile': For the target 'test', remove the new part ' && ./mysql-test-run --ps-protocol' This will return the old behaviour: Just one run, using the traditional protocol. Please report whether that is an acceptable solution for you.
[6 Jan 2005 8:58]
Sergei Golubchik
It now a normal part of the test suite to run it twice - it uses different API's in these runs. You did not see it before because --ps-protocol switch was implemented only recently. The test failure that you see probably means that in one very specific case mysqld reports non-zero amount of warnings while really there are no warnings (and SHOW WARNINGS shows nothing), or that mysqltest forgets to clear warning flag from the previous query. I cannot see how it can happen and would be happy to have a repeatable test case. Anyway for all practical purposes this is absolutely harmless, so you don't have to be concerned.
[7 Jan 2005 1:16]
Brian Wright
For the moment, we will not be using prepared statements. We will, however, evaluate the use of these statements to determine if they will work in our environment for implementation at a later date. But, as of right now, using the standard protocol will work fine. We're in the process of upgrading from 3.x to 4.1.x. Our 3.x environment has been nearly rock stable since we installed it. So, I'm just trying to do everything to ensure that our upgrade goes as smoothly as possible (i.e., by testing this version of mysql thoroughly). I am quite satisifed that the standard protocol version will function correctly for our needs based on the tests (at least, phase 1 of upgrading). I still have phase 2, which is putting it into a test environment and running it through its paces. If we decide to start using the prepared statements version later, we will have to revisit this issue. But, that won't be for sometime yet. Thanks.
[7 Jan 2005 20:37]
Joerg Bruehe
Given the customer reaction, I set it to 'to be fixed later' as we know that the PS protocol is ongoing work. Also, 'showstopper' is cleared.
[29 Sep 2008 20:59]
Konstantin Osipov
Setting a correct status. A fix for this bug is "unalias make"