Bug #32153 Status output differs - scheduling ?
Submitted: 6 Nov 2007 22:03 Modified: 21 Nov 2007 20:29
Reporter: Joerg Bruehe Email Updates:
Status: Closed Impact on me:
None 
Category:Tests: Server Severity:S3 (Non-critical)
Version:5.1.23 (pre) OS:Linux (x86, gcc 3.3.5)
Assigned to: Matthias Leich CPU Architecture:Any

[6 Nov 2007 22:03] Joerg Bruehe
Description:
Test "funcs_1.b_processlist_val_ps" suddenly fails with a status output difference.

I got the failure using the build team tree as of today (Nov 6),
it had still woked for me with the build team tree of Oct 29.

=====
funcs_1.b_processlist_val_ps   [ fail ]

--- /MySQL/M51/work-5.1/mysql-test/suite/funcs_1/r/b_processlist_val_ps.result  2007-08-15 22:46:41.000000000 +0300
+++ /MySQL/M51/work-5.1/mysql-test/suite/funcs_1/r/b_processlist_val_ps.reject  2007-11-06 19:19:09.000000000 +0300
@@ -45,12 +45,12 @@
 ----- switch to connection default (user = root) -----
 SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
 ID     USER    HOST    DB      COMMAND TIME    STATE   INFO
-<ID>   ddicttestuser1  localhost       information_schema      Sleep   0               NULL
+<ID>   ddicttestuser1  localhost       information_schema      Connect 0       Writing to net  NULL
 <ID>   root    localhost       information_schema      Execute 0       preparing       SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
 SHOW FULL PROCESSLIST;
 Id     User    Host    db      Command Time    State   Info
 <ID>   root    localhost       information_schema      Query   0       NULL    SHOW FULL PROCESSLIST
-<ID>   ddicttestuser1  localhost       information_schema      Sleep   0               NULL
+<ID>   ddicttestuser1  localhost       information_schema      Connect NULL    Writing to net  NULL
 # Sleep some time
 SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
 ID     USER    HOST    DB      COMMAND TIME    STATE   INFO

mysqltest: Result content mismatch

Stopping All Servers
Restoring snapshot of databases
Resuming Tests
=====

I suppose the diff does not really matter, might be some scheduling effect.

How to repeat:
Run the "funcs_1" suite, using "PS-protocol"
(otherwise, this test will be skipped).

Suggested fix:
Check whether the difference is important,
if not: mask it in the result file.
[7 Nov 2007 17:19] Matthias Leich
The problem is a weakness within all tests based on
suite/funcs_1/datadict/process_val.inc.

The work of the server for the just opened second
connection might be slow. And then the first connection
might observe (SELECT ... PROCESSLIST) the second 
connection within the extreme short phase where
Command = "Connect" and not within the final state
(= long phase) where Command = "Sleep".
[9 Nov 2007 13:08] 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/37439

ChangeSet@1.2609, 2007-11-09 14:08:12+01:00, mleich@five.local.lan +3 -0
  Fix for
     Bug#32153 Status output differs - scheduling ?
  Modifications:
  1. Introduce additional poll routines + adjust queries 
     as fixes for Bug#32153 and another non reported bug
     found during stability testing
  2. Replace builtin poll routines by wait_condition.inc.
  3. Update the comments
[9 Nov 2007 22:06] Matthias Leich
Patch pushed into source trees
mysql-5.1-build and mysql-6.0-build.
[9 Nov 2007 22:11] Matthias Leich
There is no documentation needed.
[21 Nov 2007 18:54] Bugs System
Pushed into 5.1.23-rc
[21 Nov 2007 18:54] Bugs System
Pushed into 6.0.4-alpha
[21 Nov 2007 20:29] Paul DuBois
Test case changes. No changelog entry needed.