You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by GitBox <gi...@apache.org> on 2022/07/01 03:20:09 UTC

[GitHub] [shardingsphere] TeslaCN opened a new issue, #18753: Using exclusive thread to execute CommandExecuteTask if Proxy met MySQL no-server-response commands

TeslaCN opened a new issue, #18753:
URL: https://github.com/apache/shardingsphere/issues/18753

   ## Refactor
   
   Related to:
   - https://github.com/apache/shardingsphere/issues/16294
   
   ### Problem
   
   MySQL Proxy may use shared thread pool `Executors.newCachedThreadPool` to execute CommandExecuteTask. If Proxy met commands like `COM_STMT_CLOSE` or `COM_STMT_SEND_LONG_DATA`, there may be concurrent problem.
   
   ### Solution
   
   Execute `CommandExecuteTask` by exclusive thread if Proxy met no-server-response command, until next command is server-response. The first of server-response command will still be executed by exclusive thread, then the others could be executed by shared thread pool.
   
   ```
    |  COM_STMT_EXECUTE -> shared thread pool
    |  COM_STMT_CLOSE -> exclusive thread
    |  ... any no-server-response commands -> exclusive thread
    |  COM_STMT_CLOSE -> exclusive thread
    |  any server-response command -> exclusive thread
    |  any server-response command -> shared thread pool
    V
   ```
   
   If we did this, the solution #16429 is no longer needed.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [shardingsphere] tristaZero closed issue #18753: Using exclusive thread to execute CommandExecuteTask if Proxy met MySQL no-server-response commands

Posted by GitBox <gi...@apache.org>.
tristaZero closed issue #18753: Using exclusive thread to execute CommandExecuteTask if Proxy met MySQL no-server-response commands
URL: https://github.com/apache/shardingsphere/issues/18753


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org