Skip to content

Commit f7b1ca0

Browse files
yanhuqing666LUAgam
andcommitted
ATK-1275 and spell error (#2049)
* set AutoCommit add debug log (#2043) * perf: add debug log * perf: add debug log * perf: add isDebugEnabled * ATK-1275 and spell error Co-authored-by: LUA <guoaomen@actionsky.com>
1 parent 2e721db commit f7b1ca0

File tree

10 files changed

+40
-26
lines changed

10 files changed

+40
-26
lines changed

src/main/java/com/actiontech/dble/backend/mysql/nio/handler/MultiNodeHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ protected boolean canResponse() {
142142
return false;
143143
}
144144

145-
protected void tryErrorFinished(boolean allEnd) {
145+
void tryErrorFinished(boolean allEnd) {
146146
if (allEnd && !session.closed()) {
147147
// clear session resources,release all
148148
if (LOGGER.isDebugEnabled()) {
@@ -155,7 +155,7 @@ protected void tryErrorFinished(boolean allEnd) {
155155
}
156156
}
157157

158-
protected void clearSessionResources() {
158+
private void clearSessionResources() {
159159
if (session.getSource().isAutocommit()) {
160160
session.closeAndClearResources(error);
161161
} else {

src/main/java/com/actiontech/dble/backend/mysql/nio/handler/transaction/AbstractCommitNodesHandler.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
public abstract class AbstractCommitNodesHandler extends MultiNodeHandler implements CommitNodesHandler {
2222
protected static final Logger LOGGER = LoggerFactory.getLogger(AbstractCommitNodesHandler.class);
2323
protected Set<BackendConnection> closedConnSet;
24-
protected ImplictCommitHandler implictCommitHandler = null;
24+
protected ImplicitCommitHandler implicitCommitHandler = null;
2525

2626
public AbstractCommitNodesHandler(NonBlockingSession session) {
2727
super(session);
@@ -92,7 +92,7 @@ protected boolean checkClosedConn(BackendConnection conn) {
9292
}
9393

9494
@Override
95-
public void setImplictCommitHandler(ImplictCommitHandler implictCommitHandler) {
96-
this.implictCommitHandler = implictCommitHandler;
95+
public void setImplicitCommitHandler(ImplicitCommitHandler implicitCommitHandler) {
96+
this.implicitCommitHandler = implicitCommitHandler;
9797
}
9898
}

src/main/java/com/actiontech/dble/backend/mysql/nio/handler/transaction/CommitNodesHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@
77

88
public interface CommitNodesHandler {
99
void commit();
10-
void setImplictCommitHandler(ImplictCommitHandler handler);
10+
void setImplicitCommitHandler(ImplicitCommitHandler handler);
1111
void clearResources();
1212
}

src/main/java/com/actiontech/dble/backend/mysql/nio/handler/transaction/ImplictCommitHandler.java renamed to src/main/java/com/actiontech/dble/backend/mysql/nio/handler/transaction/ImplicitCommitHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55

66
package com.actiontech.dble.backend.mysql.nio.handler.transaction;
77

8-
public interface ImplictCommitHandler {
8+
public interface ImplicitCommitHandler {
99
void next();
1010
}

src/main/java/com/actiontech/dble/backend/mysql/nio/handler/transaction/normal/NormalCommitNodesHandler.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import com.actiontech.dble.backend.BackendConnection;
99
import com.actiontech.dble.backend.mysql.nio.MySQLConnection;
1010
import com.actiontech.dble.backend.mysql.nio.handler.transaction.AbstractCommitNodesHandler;
11-
import com.actiontech.dble.backend.mysql.nio.handler.transaction.ImplictCommitHandler;
11+
import com.actiontech.dble.backend.mysql.nio.handler.transaction.ImplicitCommitHandler;
1212
import com.actiontech.dble.net.mysql.ErrorPacket;
1313
import com.actiontech.dble.route.RouteResultsetNode;
1414
import com.actiontech.dble.server.NonBlockingSession;
@@ -19,7 +19,7 @@ public class NormalCommitNodesHandler extends AbstractCommitNodesHandler {
1919
@Override
2020
public void commit() {
2121
if (session.getTargetCount() <= 0) {
22-
if (implictCommitHandler == null && sendData == null) {
22+
if (implicitCommitHandler == null && sendData == null) {
2323
sendData = session.getOkByteArray();
2424
}
2525
cleanAndFeedback();
@@ -45,7 +45,7 @@ public void commit() {
4545
@Override
4646
public void clearResources() {
4747
sendData = null;
48-
implictCommitHandler = null;
48+
implicitCommitHandler = null;
4949
if (closedConnSet != null) {
5050
closedConnSet.clear();
5151
}
@@ -64,7 +64,7 @@ protected boolean executeCommit(MySQLConnection mysqlCon, int position) {
6464
@Override
6565
public void okResponse(byte[] ok, BackendConnection conn) {
6666
if (decrementToZero(conn)) {
67-
if (implictCommitHandler == null && sendData == null) {
67+
if (implicitCommitHandler == null && sendData == null) {
6868
sendData = session.getOkByteArray();
6969
}
7070
cleanAndFeedback();
@@ -117,7 +117,7 @@ public void connectionClose(final BackendConnection conn, final String reason) {
117117

118118
private void cleanAndFeedback() {
119119
byte[] send = sendData;
120-
ImplictCommitHandler handler = implictCommitHandler;
120+
ImplicitCommitHandler handler = implicitCommitHandler;
121121
// clear all resources
122122
session.clearResources(false);
123123
if (session.closed()) {

src/main/java/com/actiontech/dble/backend/mysql/nio/handler/transaction/xa/XACommitNodesHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public void clearResources() {
103103
backgroundCommitTimes = 0;
104104
participantLogEntry = null;
105105
sendData = OkPacket.OK;
106-
implictCommitHandler = null;
106+
implicitCommitHandler = null;
107107
xaOldThreadIds.clear();
108108
if (closedConnSet != null) {
109109
closedConnSet.clear();

src/main/java/com/actiontech/dble/server/NonBlockingSession.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import com.actiontech.dble.backend.mysql.nio.handler.query.DMLResponseHandler;
1616
import com.actiontech.dble.backend.mysql.nio.handler.query.impl.OutputHandler;
1717
import com.actiontech.dble.backend.mysql.nio.handler.transaction.CommitNodesHandler;
18-
import com.actiontech.dble.backend.mysql.nio.handler.transaction.ImplictCommitHandler;
18+
import com.actiontech.dble.backend.mysql.nio.handler.transaction.ImplicitCommitHandler;
1919
import com.actiontech.dble.backend.mysql.nio.handler.transaction.RollbackNodesHandler;
2020
import com.actiontech.dble.backend.mysql.nio.handler.transaction.normal.NormalCommitNodesHandler;
2121
import com.actiontech.dble.backend.mysql.nio.handler.transaction.normal.NormalRollbackNodesHandler;
@@ -658,9 +658,9 @@ public void commit() {
658658
commitHandler.commit();
659659
}
660660

661-
public void implictCommit(ImplictCommitHandler handler) {
661+
public void implictCommit(ImplicitCommitHandler handler) {
662662
resetCommitNodesHandler();
663-
commitHandler.setImplictCommitHandler(handler);
663+
commitHandler.setImplicitCommitHandler(handler);
664664
commit();
665665
}
666666

src/main/java/com/actiontech/dble/server/ServerConnection.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
import com.actiontech.dble.DbleServer;
99
import com.actiontech.dble.backend.BackendConnection;
10-
import com.actiontech.dble.backend.mysql.nio.handler.transaction.ImplictCommitHandler;
10+
import com.actiontech.dble.backend.mysql.nio.handler.transaction.ImplicitCommitHandler;
1111
import com.actiontech.dble.backend.mysql.nio.handler.transaction.savepoint.SavePointHandler;
1212
import com.actiontech.dble.backend.mysql.xa.TxState;
1313
import com.actiontech.dble.config.ErrorCode;
@@ -390,11 +390,15 @@ public void beginInTx(String stmt) {
390390
}
391391
}
392392

393-
public void commit(String logReason) {
393+
public void commit(String logReason, boolean isSetAutoCommit) {
394394
if (txInterrupted) {
395395
writeErrMessage(ErrorCode.ER_YES, txInterruptMsg);
396396
} else {
397397
TxnLogHelper.putTxnLog(this, logReason);
398+
if (isSetAutoCommit) {
399+
//this must not used by session.commit();
400+
this.setAutocommit(true);
401+
}
398402
session.commit();
399403
}
400404
}
@@ -422,7 +426,7 @@ public void rollback() {
422426
void lockTable(String sql) {
423427
// except xa transaction
424428
if ((!isAutocommit() || isTxStart()) && session.getSessionXaID() == null) {
425-
session.implictCommit(new ImplictCommitHandler() {
429+
session.implictCommit(new ImplicitCommitHandler() {
426430
@Override
427431
public void next() {
428432
doLockTable(sql);

src/main/java/com/actiontech/dble/server/handler/CommitHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@ private CommitHandler() {
1212
}
1313

1414
public static void handle(String stmt, ServerConnection c) {
15-
c.commit(stmt);
15+
c.commit(stmt, false);
1616
}
1717
}

src/main/java/com/actiontech/dble/server/handler/SetHandler.java

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
/*
2-
* Copyright (C) 2016-2019 ActionTech.
3-
* based on code by MyCATCopyrightHolder Copyright (c) 2013, OpenCloudDB/MyCAT.
4-
* License: http://www.gnu.org/licenses/gpl.html GPL version 2 or higher.
5-
*/
2+
* Copyright (C) 2016-2019 ActionTech.
3+
* based on code by MyCATCopyrightHolder Copyright (c) 2013, OpenCloudDB/MyCAT.
4+
* License: http://www.gnu.org/licenses/gpl.html GPL version 2 or higher.
5+
*/
66
package com.actiontech.dble.server.handler;
77

88
import com.actiontech.dble.DbleServer;
@@ -27,6 +27,8 @@
2727
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlSetTransactionStatement;
2828
import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser;
2929
import com.alibaba.druid.sql.parser.SQLStatementParser;
30+
import org.slf4j.Logger;
31+
import org.slf4j.LoggerFactory;
3032

3133
import java.sql.SQLSyntaxErrorException;
3234
import java.util.ArrayList;
@@ -42,6 +44,8 @@
4244
* @author zhuam
4345
*/
4446
public final class SetHandler {
47+
private static final Logger LOGGER = LoggerFactory.getLogger(SetHandler.class);
48+
4549
private SetHandler() {
4650
}
4751

@@ -525,6 +529,9 @@ private static boolean handleSingleCharsetClient(ServerConnection c, SQLExpr val
525529
}
526530

527531
private static boolean handleSingleAutocommit(String stmt, ServerConnection c, SQLExpr valueExpr) {
532+
if (LOGGER.isDebugEnabled()) {
533+
LOGGER.debug("set AutoCommit start:{}", c.toString());
534+
}
528535
Boolean switchStatus = isSwitchOn(valueExpr);
529536
if (switchStatus == null) {
530537
c.writeErrMessage(ErrorCode.ER_WRONG_TYPE_FOR_VAR, "Incorrect argument type to variable 'AUTOCOMMIT'");
@@ -533,8 +540,8 @@ private static boolean handleSingleAutocommit(String stmt, ServerConnection c, S
533540
if (c.isAutocommit()) {
534541
c.write(c.writeToBuffer(OkPacket.OK, c.allocate()));
535542
} else {
536-
c.commit("commit[because of " + stmt + "]");
537-
c.setAutocommit(true);
543+
// commit and set Autocommit
544+
c.commit("commit[because of " + stmt + "]", true);
538545
}
539546
} else {
540547
if (c.isAutocommit()) {
@@ -543,6 +550,9 @@ private static boolean handleSingleAutocommit(String stmt, ServerConnection c, S
543550
}
544551
c.write(c.writeToBuffer(AC_OFF, c.allocate()));
545552
}
553+
if (LOGGER.isDebugEnabled()) {
554+
LOGGER.debug("set AutoCommit end:{}", c.toString());
555+
}
546556
return true;
547557
}
548558

0 commit comments

Comments
 (0)