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]>
I did the following test:

My program still uses MySQL 5.7 libmysqlclient.so, but I connect now to a 5.6.16 server.

And the SQL interrupt works fine... so I suspect there is a MySQL server issue in 5.7.

Seb

On 07/12/2016 01:01 PM, Sebastien FLAESCH wrote:
> 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.