[inner-2371] fix: sql execution hang problem caused by the inability to respond to the front side due to unprocessed packets.

(cherry picked from commit dcff228b4c13bf0fd9f7bb0d52f9c18aaba36b59、07c0c1f1c986a71fb74d0fcc0379965592c63b49)
This commit is contained in:
wenyh1
2023-10-31 18:03:06 +08:00
parent 24a0fca178
commit 55313601c3
2 changed files with 5 additions and 5 deletions
@@ -133,7 +133,7 @@ public abstract class BackendService extends AbstractService {
handleDataError(e);
} finally {
isHandling.set(false);
if (taskQueue.size() > 0) {
if (!taskQueue.isEmpty()) {
doHandle(task);
}
}
@@ -225,7 +225,7 @@ public abstract class BackendService extends AbstractService {
protected void handleDataError(Exception e) {
LOGGER.warn(this.toString() + " handle data error:", e);
connection.close("handle data error:" + e.getMessage());
while (taskQueue.size() > 0) {
while (!taskQueue.isEmpty()) {
clearTaskQueue();
readSize.set(0);
// clear all data from the client
@@ -667,8 +667,8 @@ public abstract class BackendService extends AbstractService {
handleDataError(e);
} finally {
isHandling.set(false);
if (taskQueue.size() > 0) {
doHandle(null);
if (!taskQueue.isEmpty()) {
doHandle(taskQueue.peek());
}
}
}
@@ -513,7 +513,7 @@ public class MySQLResponseService extends BackendService {
@Override
protected Executor getExecutor() {
Executor executor;
if (complexQuery) {
if (complexQuery || SystemConfig.getInstance().getUsePerformanceMode() == 1) {
executor = DbleServer.getInstance().getComplexQueryExecutor();
} else {
executor = DbleServer.getInstance().getBackendExecutor();