Skip to content

Commit 2dc2564

Browse files
wenyh1dcy10000
authored andcommitted
[inner-2194] fix: questions and transactions occasionally appear as 0
1 parent a6c5007 commit 2dc2564

File tree

4 files changed

+8
-5
lines changed

4 files changed

+8
-5
lines changed

src/main/java/com/actiontech/dble/net/connection/AbstractConnection.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,9 @@ public synchronized void closeImmediately(final String reason) {
170170
private void closeImmediatelyInner(String reason) {
171171
if (isClosed.compareAndSet(false, true)) {
172172
if (service instanceof BusinessService) {
173-
((BusinessService) service).controlTx(TransactionOperate.QUIT);
173+
BusinessService bService = (BusinessService) service;
174+
bService.addHisQueriesCount();
175+
bService.controlTx(TransactionOperate.QUIT);
174176
AbstractTrackProbe.trace(service, t -> t.setExit());
175177
}
176178
FrontActiveRatioStat.getInstance().remove(this);

src/main/java/com/actiontech/dble/services/BusinessService.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import com.actiontech.dble.net.mysql.EOFPacket;
1414
import com.actiontech.dble.net.service.AuthResultInfo;
1515
import com.actiontech.dble.server.variables.MysqlVariable;
16+
import com.actiontech.dble.singleton.TsQueriesCounter;
1617
import com.actiontech.dble.statistic.CommandCount;
1718

1819
import java.util.concurrent.atomic.AtomicLong;
@@ -49,6 +50,10 @@ public void resetCounter() {
4950
queriesCounter.set(Long.MIN_VALUE);
5051
}
5152

53+
public void addHisQueriesCount() {
54+
TsQueriesCounter.getInstance().addToHistory(this);
55+
}
56+
5257
public void executeContextSetTask(MysqlVariable[] contextTask) {
5358
MysqlVariable autocommitItem = null;
5459
for (MysqlVariable variable : contextTask) {

src/main/java/com/actiontech/dble/services/mysqlsharding/ShardingService.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
import com.actiontech.dble.services.mysqlauthenticate.MySQLChangeUserService;
4242
import com.actiontech.dble.singleton.SerializableLock;
4343
import com.actiontech.dble.singleton.TraceManager;
44-
import com.actiontech.dble.singleton.TsQueriesCounter;
4544
import com.actiontech.dble.util.SplitUtil;
4645
import com.actiontech.dble.util.exception.NeedDelayedException;
4746
import com.alibaba.druid.wall.WallCheckResult;
@@ -573,7 +572,6 @@ public void multiStatementNextSql(boolean flag) {
573572
@Override
574573
public void cleanup() {
575574
super.cleanup();
576-
TsQueriesCounter.getInstance().addToHistory(this);
577575
session.terminate();
578576
if (getLoadDataInfileHandler() != null) {
579577
getLoadDataInfileHandler().clear();

src/main/java/com/actiontech/dble/services/rwsplit/RWSplitService.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import com.actiontech.dble.services.mysqlauthenticate.MySQLChangeUserService;
3535
import com.actiontech.dble.services.rwsplit.handle.PreparedStatementHolder;
3636
import com.actiontech.dble.singleton.TraceManager;
37-
import com.actiontech.dble.singleton.TsQueriesCounter;
3837
import com.alibaba.druid.wall.WallCheckResult;
3938
import com.alibaba.druid.wall.WallProvider;
4039
import org.jetbrains.annotations.NotNull;
@@ -465,7 +464,6 @@ public void resetConnection() {
465464
public void cleanup() {
466465
super.cleanup();
467466
if (session != null) {
468-
TsQueriesCounter.getInstance().addToHistory(this);
469467
session.close("clean up");
470468
}
471469
}

0 commit comments

Comments
 (0)