Commit d88716c2 authored by Sven Sandberg's avatar Sven Sandberg

BUG#39851: race between check_testcase and tests running 'show processlist'

Problem 1: not_embedded_server runs SELECT FROM I_S.PROCESSLIST near the beginning.
check_testcase executes a query to the server before that. There is a race here,
because there is no guarantee that the thread executing check_testcase's query is
finished.
Problem 2: The SELECT FROM I_S.PROCESSLIST doens't seem very useful in the test.
It's at least misplaced.
Fix to both problems: Comment out SELECT FROM I_S.PROCESSLIST.
parent 90de05d0
prepare stmt1 from ' SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND!=\'Daemon\' ';
execute stmt1;
ID USER HOST DB COMMAND TIME STATE INFO
number root localhost test Query time executing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND!='Daemon'
deallocate prepare stmt1;
FLUSH STATUS; FLUSH STATUS;
Value of com_select did not change Value of com_select did not change
...@@ -4,21 +4,33 @@ ...@@ -4,21 +4,33 @@
-- source include/not_embedded.inc -- source include/not_embedded.inc
# The following fails sporadically because 'check-testcase' runs
# queries before this test and there is no way to guarantee that any
# previous process finishes. The purpose of the test is not clearly
# stated, there is no reference to any bug report, and "select from
# I_S from prepared statement" doesn't look like something that's
# really imporant to test. I'm commenting out this for now. If
# anyone wants to keep this, please fix the race and motivate why we
# need to test this. If you see this comment and it is after mid-2009
# or so, feel free to remove this test from the file. /Sven
# #
# Show full process list with prepare
# To not show other connections, this must be the first test and we must
# have a server restart before this one
# #
# We don't have any 4.1 tests as we use I_S to query the PROCESSLIST to ## Show full process list with prepare
# exclude system threads that may/may not be active in the server ## To not show other connections, this must be the first test and we must
# (namely the ndb injector thread) ## have a server restart before this one
##
## We don't have any 4.1 tests as we use I_S to query the PROCESSLIST to
## exclude system threads that may/may not be active in the server
## (namely the ndb injector thread)
##
## End of 4.1 tests
# #
# End of 4.1 tests #prepare stmt1 from ' SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND!=\'Daemon\' ';
#--replace_column 1 number 6 time 3 localhost
#execute stmt1;
#deallocate prepare stmt1;
prepare stmt1 from ' SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND!=\'Daemon\' ';
--replace_column 1 number 6 time 3 localhost
execute stmt1;
deallocate prepare stmt1;
# #
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment