diff --git a/src/main/java/com/actiontech/dble/services/BackendService.java b/src/main/java/com/actiontech/dble/services/BackendService.java index 6783d2f47..bb1a83874 100644 --- a/src/main/java/com/actiontech/dble/services/BackendService.java +++ b/src/main/java/com/actiontech/dble/services/BackendService.java @@ -130,7 +130,7 @@ public abstract class BackendService extends AbstractService { handleDataError(e); } finally { isHandling.set(false); - if (taskQueue.size() > 0) { + if (!taskQueue.isEmpty()) { doHandle(task); } } @@ -222,7 +222,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 @@ -649,8 +649,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()); } } } diff --git a/src/main/java/com/actiontech/dble/services/mysqlsharding/MySQLResponseService.java b/src/main/java/com/actiontech/dble/services/mysqlsharding/MySQLResponseService.java index 2aaffa707..b8d5e76bf 100644 --- a/src/main/java/com/actiontech/dble/services/mysqlsharding/MySQLResponseService.java +++ b/src/main/java/com/actiontech/dble/services/mysqlsharding/MySQLResponseService.java @@ -509,7 +509,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().getBackendBusinessExecutor();