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;
Value of com_select did not change
......@@ -4,21 +4,33 @@
-- 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
# exclude system threads that may/may not be active in the server
# (namely the ndb injector thread)
## 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
## 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