[fix](mysql) fix mysql channel infinite blocking#28808
[fix](mysql) fix mysql channel infinite blocking#28808morningman merged 1 commit intoapache:masterfrom
Conversation
c053fe7 to
970a710
Compare
970a710 to
cd0d623
Compare
|
@fornaix Hi hi, could you please describe the problem? Does it relate with this PR? |
|
@yiguolei hi, sure. I found this problem after killing a running query. The query is aborted and there are no running instances in be. But the mysql thread that receives the query is stuck there forever.
Is this problem also stuck in channel blocking write or read? |
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
|
@fornaix actually I do not know. because I could not get the jstack.
If the query is aborted, and the mysql thread maybe hang in getNext and there is a timeout here. I think I will throw timeout exception. Could you please explain it more detail? My wechat number is monkgrandpa . Could you please add me, we could talk about it at wechat? |
|
run buildall |
|
(From new machine)TeamCity pipeline, clickbench performance test result: |
|
TPC-H test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G' |
|
@fornaix can you submit a PR to branch-2.0 ? |
Call the Channels blocking method with timeout instead. Using session variables net_write_timeout and net_read_timeout as the timeout parameter.
Call the Channels blocking method with timeout instead. Using session variables net_write_timeout and net_read_timeout as the timeout parameter.
* [fix](mysql) fix mysql channel infinite blocking (#28808) Call the Channels blocking method with timeout instead. Using session variables net_write_timeout and net_read_timeout as the timeout parameter. * [conf](mysql) opt mysql network timeout to 600s #32545 --------- Co-authored-by: fornaix <foxnaix@gmail.com>
Proposed changes
Issue Number: close #28807
Further comments
Call the Channels blocking method with timeout instead.
Using session variables net_write_timeout and net_read_timeout as the timeout parameter.