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: 
[email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to