-
Ole John Aske authored
This test has two parallel server connection: 1) Started a (pushed) join possibly creating a lot of result rows 2) Do some alter table DDLs which is expected to terminate query in 1) However, as 1) created a lots of result, which is sent through the client-server interface with a TCP 'write()', the TCP send/recv buffers may fill up. If these buffers became completely filled before the query was killed by the the DDL, we seems to enter a deadlock state where neither the DDL is able to execute, and no further communication can take place. Thus, the MTR test timed out with 'Lost connection to the MySQL server'. This fix change to using a 'select count(*)' instead of a plain 'select *' in order to avoid saturated TCP buffers.
Ole John Aske authoredThis test has two parallel server connection: 1) Started a (pushed) join possibly creating a lot of result rows 2) Do some alter table DDLs which is expected to terminate query in 1) However, as 1) created a lots of result, which is sent through the client-server interface with a TCP 'write()', the TCP send/recv buffers may fill up. If these buffers became completely filled before the query was killed by the the DDL, we seems to enter a deadlock state where neither the DDL is able to execute, and no further communication can take place. Thus, the MTR test timed out with 'Lost connection to the MySQL server'. This fix change to using a 'select count(*)' instead of a plain 'select *' in order to avoid saturated TCP buffers.
Loading