Re: Query interruption with MySQL 5.7 using KILL QUERY in signal handler does no more work
Sebastien FLAESCH <[email protected]>
| Newsgroups | gmane.comp.db.mysql.general |
|---|---|
| Organization | Four Js Development Tools |
| Message-ID | <[email protected]> |
About: > B) For some reason, the program does not want to exit() - (must investigate) In fact we use prepared statements with a sequence of mysql_stmt_init, mysql_stmt_prepare, mysql_stmt_execute, mysql_stmt_fetch, ... and mysql_stmt_close. After the statement was interrupted, we try to free the MySQL statement hanlde with: mysql_stmt_close(<interrupted-stmt-handle>); But this API call hangs... (below the strace output) This was working fine in older versions... Seb strace log: ... sendto(3, "s\0\0\0\26select COUNT(*) from t2 a"..., 119, 0, NULL, 0) = 119 recvfrom(3, "\f\0\0\1\0\1\0\0\0\1\0\0\0\0\0\0\36\0\0\2\3def\0\0\0\10COUN"..., 16384, 0, NULL, NULL) = 50 sendto(3, "\n\0\0\0\27\1\0\0\0\1\1\0\0\0", 14, 0, NULL, 0) = 14 recvfrom(3, 0x629000005220, 16384, 0, 0, 0) = ? ERESTARTSYS (To be restarted if SA_RESTART is set) ... When mysql_stmt_close() is called, hangs in recvfrom(): recvfrom(3, On 07/03/2016 06:55 PM, Sebastien FLAESCH wrote: > Hi all, > > I use the following technique to cancel a long running query: > > In the SIGINT signal handler, I restart a connection and I perform a > > KILL QUERY mysql-process-id-of-running-query > > This was working find with MySQL 5.6. > > But with 5.7 (5.7.11), we get now a different result: > > A) The query is still interrupted, but we no longer get an SQL error -1317. > > B) For some reason, the program does not want to exit() - (must investigate) > > Any clues? > > > With mysql it's working fine: > > mysql> select sleep(10); > ^C^C -- query aborted > +-----------+ > | sleep(10) | > +-----------+ > +-----------+ > 1 row in set (2.79 sec) > > mysql> \q > Bye > > > Thanks! > Seb > -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/mysql