MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:Matthias Leich Date:October 17 2008 12:55pm
Subject:bzr commit into mysql-5.1 branch (Matthias.Leich:2673) Bug#39569 Bug#39848
Bug#39863 Bug#39978
View as plain text  
#At file:///work2/5.1/mysql-5.1-bugteam-work/

 2673 Matthias Leich	2008-10-17
      - Fix for Bug #39848, #39863, #39978, #39569
        Bug#39848 events_bugs fails sporadically on pushbuild
                  (missing rows in table event_log)
           Details: Reimplement the subtest for BUG 28924
                    - check if the number of rows within the table
                      event_log changes but don't print rows
                      because the number varies depending on
                      load on testing box
                    - shift DROP USER befor DROP EVENT
                      = Subtest fits again to old bug
                    - remove no more needed comments + variables
        Bug#39863 events_bugs fails sporadically on pushbuild (extra processes
                  in I_S.PROCESSLIST)
           Details: Abort with appropriate message to the protocol if
                    release_lock() does not has the intended effect.
                    This cannot prevent problems caused by the probably
                    buggy release_lock() but it reveals if we had a problem
                    in this area.
        Bug#39978 main.events_bugs does not clean up
           Detail: Restore global.event_scheduler = ON at end of test
        Bug#39569 events_bugs fails sporadically on pushbuild (should have
                  failed with errno 1539)
           Detail: Set $wait_timeout to 4 instead of 2
      - Fix two instabilities (result sets pulled from processlist in subtest
        for bug 16407) which were found during tests with high parallel
        I/O load
      
      - Minor improvements of formatting
        Details:
          - Add comments
          - Remove tabs and trailing blanks
          - Add line breaks for better readability
modified:
  mysql-test/r/events_bugs.result
  mysql-test/t/disabled.def
  mysql-test/t/events_bugs.test

=== modified file 'mysql-test/r/events_bugs.result'
--- a/mysql-test/r/events_bugs.result	2008-10-16 19:45:38 +0000
+++ b/mysql-test/r/events_bugs.result	2008-10-17 12:54:57 +0000
@@ -60,8 +60,7 @@ select get_lock('test_bug16407', 60);
 end|
 "Now if everything is fine the event has compiled and is locked"
 select /*1*/ user, host, db, info from information_schema.processlist
-where command!='Daemon' and (info is null or info not like '%processlist%')
-order by info;
+where info = 'select get_lock(\'test_bug16407\', 60)';
 user	host	db	info
 root	localhost	events_test	select get_lock('test_bug16407', 60)
 select release_lock('test_bug16407');
@@ -117,10 +116,8 @@ events_test	ee_16407_2	STRICT_TRANS_TABL
 events_test	ee_16407_3	STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER
 events_test	ee_16407_4	
 select /*2*/ user, host, db, info from information_schema.processlist
-where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%')
-order by info;
+where info = 'select get_lock(\'ee_16407_2\', 60)';
 user	host	db	info
-event_scheduler	localhost	NULL	NULL
 root	localhost	events_test	select get_lock('ee_16407_2', 60)
 root	localhost	events_test	select get_lock('ee_16407_2', 60)
 root	localhost	events_test	select get_lock('ee_16407_2', 60)
@@ -128,10 +125,8 @@ select release_lock('ee_16407_2');
 release_lock('ee_16407_2')
 1
 select /*3*/ user, host, db, info from information_schema.processlist
-where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%')
-order by info;
+where info = 'select get_lock(\'ee_16407_2\', 60)';
 user	host	db	info
-event_scheduler	localhost	NULL	NULL
 set global event_scheduler= off;
 select * from events_smode_test order by ev_name, a;
 ev_name	a

=== modified file 'mysql-test/t/disabled.def'
--- a/mysql-test/t/disabled.def	2008-10-15 18:58:53 +0000
+++ b/mysql-test/t/disabled.def	2008-10-17 12:54:57 +0000
@@ -13,4 +13,4 @@ federated_transactions   : Bug#29523 Tra
 csv_alter_table      : Bug#33696 2008-01-21 pcrews no .result file - bug allows NULL columns in CSV tables
 log_tables.test                       : Bug #37798: main.log_tables fails randomly on powermacg5 and windows
 slow_query_log_func.test              : Bug #37962: *_func tests containing sleeps/race conditions
-events-bugs.test                      : Bug #39848, Bug #39863, Bug #39569, Bug #37774
+# events-bugs.test                      : Bug #39848, Bug #39863, Bug #39569, Bug #37774

=== modified file 'mysql-test/t/events_bugs.test'
--- a/mysql-test/t/events_bugs.test	2008-10-16 19:45:38 +0000
+++ b/mysql-test/t/events_bugs.test	2008-10-17 12:54:57 +0000
@@ -145,17 +145,16 @@ end|
 delimiter ;|
 
 # The default session has the user lock.
-# We wait till the event runs and hangs when trying to get the user lock.
+# We wait till one event runs and hangs when trying to get the user lock.
 let $wait_condition=
-  select count(*) = 1 from information_schema.processlist
+  select count(*) > 0 from information_schema.processlist
   where info = 'select get_lock(\'test_bug16407\', 60)';
 --source include/wait_condition.inc
 
 --echo "Now if everything is fine the event has compiled and is locked"
 # Expect to see one session in events_test waiting for the user lock.
 select /*1*/ user, host, db, info from information_schema.processlist
-where command!='Daemon' and (info is null or info not like '%processlist%')
-order by info;
+where info = 'select get_lock(\'test_bug16407\', 60)';
 select release_lock('test_bug16407');
 # Try to avoid
 #    Bug#39863 events_bugs fails sporadically on pushbuild (extra processes in I_S.PROCESSLIST)
@@ -163,7 +162,7 @@ select release_lock('test_bug16407');
 #    Bug#32782 User lock hash fails to find lock
 #    "various issues related to missing or incorrect return results
 #     from release_lock()."
-# Therefore we check here if the session of the event executor disappeared or
+# Therefore we check here if the event executing session disappeared or
 # we waited >= 5 seconds for this to happen.
 let $wait_timeout= 5;
 let $wait_condition=
@@ -230,20 +229,26 @@ let $wait_condition=
 --source include/wait_condition.inc
 
 select /*2*/ user, host, db, info from information_schema.processlist
-where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%')
-order by info;
+where info = 'select get_lock(\'ee_16407_2\', 60)';
 select release_lock('ee_16407_2');
 
+# Try to avoid
+#    Bug#39863 events_bugs fails sporadically on pushbuild (extra processes in I_S.PROCESSLIST)
+# which is most probably caused by
+#    Bug#32782 User lock hash fails to find lock
+#    "various issues related to missing or incorrect return results
+#     from release_lock()."
+# Therefore we check here if the event executing sessions disappeared or
+# we waited >= 5 seconds for this to happen.
+let $wait_timeout= 5;
 let $wait_condition=
-  select count(*) = 1 and user = 'event_scheduler' and info is null
+  select count(*) = 0
   from information_schema.processlist
-  where (command!='Daemon' || user='event_scheduler')
-  and (info is null or info not like '%processlist%');
+  where info = 'select get_lock(\'ee_16407_2\', 60)';
 --source include/wait_condition.inc
 
 select /*3*/ user, host, db, info from information_schema.processlist
-where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%')
-order by info;
+where info = 'select get_lock(\'ee_16407_2\', 60)';
 set global event_scheduler= off;
 select * from events_smode_test order by ev_name, a;
 --echo "OK, last check before we drop them"

Thread
bzr commit into mysql-5.1 branch (Matthias.Leich:2673) Bug#39569 Bug#39848Bug#39863 Bug#39978Matthias Leich17 Oct