fix rwsplit user sqlExecuteTimeout do not take effects inner 1696 (#3194)

* fix rwsplit user sqlExecuteTimeout do not take effects  inner 1696

* fix function
This commit is contained in:
ylinzhu
2022-03-25 11:15:30 +08:00
committed by GitHub
parent e2de7c0e89
commit 7b29678957
2 changed files with 13 additions and 2 deletions
@@ -179,8 +179,8 @@ public class MySQLResponseService extends BackendService {
if (synSQL != null && ignoreSql(service)) {
sendQueryCmd(synSQL.toString(), service.getCharset());
}
execCmd(originPacket);
write(originPacket, WriteFlags.QUERY_END);
}
//-------------------------------------- for sharding ----------------------------------------------------
@@ -318,6 +318,13 @@ public class MySQLResponseService extends BackendService {
this.sendQueryCmd(cmd, charsetName);
}
public void execCmd(byte[] originPacket) {
isExecuting = true;
connection.setLastTime(TimeUtil.currentTimeMillis());
write(originPacket, WriteFlags.QUERY_END);
}
private StringBuilder getSynSql(String xaTxID, RouteResultsetNode rrn, boolean expectAutocommit, VariablesService front) {
StringBuilder sb = getSynSql(expectAutocommit, front);
@@ -519,6 +526,7 @@ public class MySQLResponseService extends BackendService {
/**
* Temporary wayit will be revised in the future
*
* @param service
* @return
*/
@@ -233,7 +233,10 @@ public class RWSplitHandler implements ResponseHandler, LoadDataResponseHandler,
if (!write2Client) {
loadDataClean();
rwSplitService.getSession2().bind(null);
writeErrorMsg(rwSplitService.nextPacketId(), "connection close");
reason = "Connection {dbInstance[" + rwSplitService.getConnection().getHost() + ":" + rwSplitService.getConnection().getPort() + "],DbGroup[" +
rwSplitService.getUserConfig().getDbGroup() + "],threadID[" +
((MySQLResponseService) service).getConnection().getThreadId() + "]} was closed ,reason is [" + reason + "]";
writeErrorMsg(rwSplitService.nextPacketId(), reason);
write2Client = true;
if (buffer != null) {
frontedConnection.recycle(buffer);