This is an automated email from the ASF dual-hosted git repository.
totalo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new fdb510c5d60 Merge ServerInfo and ServerVersion (#32571)
fdb510c5d60 is described below
commit fdb510c5d6093038a436fdb7743080071301a0cc
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Aug 18 10:18:13 2024 +0800
Merge ServerInfo and ServerVersion (#32571)
* Refactor MySQLBinlogContext.putTableMapEvent()
* Move package of MySQLBinlogPosition
* Move package of MySQLBinlogPosition
* Merge ServerInfo and ServerVersion
* Merge ServerInfo and ServerVersion
---
.../incremental/client/InternalResultSet.java | 2 +-
.../incremental/client/MySQLBinlogClient.java | 8 +++---
.../ingest/incremental/client/ServerInfo.java | 31 ----------------------
.../client/netty/MySQLNegotiateHandler.java | 13 ++++-----
.../incremental/client/MySQLBinlogClientTest.java | 8 +++---
.../client/netty/MySQLNegotiateHandlerTest.java | 15 +++++------
6 files changed, 21 insertions(+), 56 deletions(-)
diff --git
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/InternalResultSet.java
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/InternalResultSet.java
index 251bc866315..0ff220bed2c 100644
---
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/InternalResultSet.java
+++
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/InternalResultSet.java
@@ -27,7 +27,7 @@ import java.util.ArrayList;
import java.util.List;
/**
- * Internal Result Set.
+ * Internal result set.
*/
@RequiredArgsConstructor
@Getter
diff --git
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/MySQLBinlogClient.java
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/MySQLBinlogClient.java
index 4436f14e6e2..f07f95dfc1c 100644
---
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/MySQLBinlogClient.java
+++
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/MySQLBinlogClient.java
@@ -85,7 +85,7 @@ public final class MySQLBinlogClient {
private Promise<Object> responseCallback;
- private ServerInfo serverInfo;
+ private ServerVersion serverVersion;
private volatile boolean running = true;
@@ -114,7 +114,7 @@ public final class MySQLBinlogClient {
socketChannel.pipeline().addLast(new
MySQLCommandResponseHandler());
}
}).connect(connectInfo.getHost(),
connectInfo.getPort()).channel();
- serverInfo = waitExpectedResponse(ServerInfo.class).orElse(null);
+ serverVersion = waitExpectedResponse(ServerVersion.class).orElse(null);
running = true;
}
@@ -184,7 +184,7 @@ public final class MySQLBinlogClient {
}
private void initDumpConnectSession() {
- if (serverInfo.getServerVersion().greaterThanOrEqualTo(5, 6, 0)) {
+ if (serverVersion.greaterThanOrEqualTo(5, 6, 0)) {
execute("SET @MASTER_BINLOG_CHECKSUM= @@GLOBAL.BINLOG_CHECKSUM");
}
}
@@ -200,7 +200,7 @@ public final class MySQLBinlogClient {
}
private int queryChecksumLength() {
- if (!serverInfo.getServerVersion().greaterThanOrEqualTo(5, 6, 0)) {
+ if (!serverVersion.greaterThanOrEqualTo(5, 6, 0)) {
return 0;
}
InternalResultSet resultSet = executeQuery("SELECT
@@GLOBAL.BINLOG_CHECKSUM");
diff --git
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/ServerInfo.java
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/ServerInfo.java
deleted file mode 100644
index 7dcc6bd7864..00000000000
---
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/ServerInfo.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client;
-
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
-
-/**
- * MySQL server info.
- */
-@RequiredArgsConstructor
-@Getter
-public final class ServerInfo {
-
- private final ServerVersion serverVersion;
-}
diff --git
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/netty/MySQLNegotiateHandler.java
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/netty/MySQLNegotiateHandler.java
index a7956861061..d2df4376710 100644
---
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/netty/MySQLNegotiateHandler.java
+++
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/netty/MySQLNegotiateHandler.java
@@ -24,7 +24,6 @@ import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import
org.apache.shardingsphere.data.pipeline.core.exception.PipelineInternalException;
import
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.PasswordEncryption;
-import
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.ServerInfo;
import
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.ServerVersion;
import
org.apache.shardingsphere.db.protocol.mysql.constant.MySQLAuthenticationMethod;
import
org.apache.shardingsphere.db.protocol.mysql.constant.MySQLAuthenticationPlugin;
@@ -59,7 +58,7 @@ public final class MySQLNegotiateHandler extends
ChannelInboundHandlerAdapter {
private final Promise<Object> authResultCallback;
- private ServerInfo serverInfo;
+ private ServerVersion serverVersion;
private byte[] seed;
@@ -75,7 +74,7 @@ public final class MySQLNegotiateHandler extends
ChannelInboundHandlerAdapter {
handshakeResponsePacket.setCapabilityFlags(generateClientCapability());
handshakeResponsePacket.setAuthPluginName(MySQLAuthenticationMethod.NATIVE);
ctx.channel().writeAndFlush(handshakeResponsePacket);
- serverInfo = new ServerInfo(new
ServerVersion(handshake.getServerVersion()));
+ serverVersion = new ServerVersion(handshake.getServerVersion());
return;
}
if (msg instanceof MySQLAuthSwitchRequestPacket) {
@@ -91,7 +90,7 @@ public final class MySQLNegotiateHandler extends
ChannelInboundHandlerAdapter {
}
if (msg instanceof MySQLOKPacket) {
ctx.channel().pipeline().remove(this);
- authResultCallback.setSuccess(serverInfo);
+ authResultCallback.setSuccess(serverVersion);
return;
}
MySQLErrPacket error = (MySQLErrPacket) msg;
@@ -113,10 +112,8 @@ public final class MySQLNegotiateHandler extends
ChannelInboundHandlerAdapter {
private void handleCachingSha2Auth(final ChannelHandlerContext ctx, final
MySQLAuthMoreDataPacket authMoreData) {
if (publicKeyRequested) {
- ctx.channel().writeAndFlush(new MySQLAuthSwitchResponsePacket(
- PasswordEncryption.encryptWithRSAPublicKey(password, seed,
-
serverInfo.getServerVersion().greaterThanOrEqualTo(8, 0, 5) ?
"RSA/ECB/OAEPWithSHA-1AndMGF1Padding" : "RSA/ECB/PKCS1Padding",
- new String(authMoreData.getPluginData()))));
+ ctx.channel().writeAndFlush(new
MySQLAuthSwitchResponsePacket(PasswordEncryption.encryptWithRSAPublicKey(
+ password, seed, serverVersion.greaterThanOrEqualTo(8, 0,
5) ? "RSA/ECB/OAEPWithSHA-1AndMGF1Padding" : "RSA/ECB/PKCS1Padding", new
String(authMoreData.getPluginData()))));
} else {
if (PERFORM_FULL_AUTHENTICATION ==
authMoreData.getPluginData()[0]) {
publicKeyRequested = true;
diff --git
a/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/MySQLBinlogClientTest.java
b/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/MySQLBinlogClientTest.java
index 96180061de1..9dba7585c7d 100644
---
a/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/MySQLBinlogClientTest.java
+++
b/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/MySQLBinlogClientTest.java
@@ -82,10 +82,10 @@ class MySQLBinlogClientTest {
@Test
void assertConnect() throws ReflectiveOperationException {
- ServerInfo expected = new ServerInfo(new ServerVersion("5.5.0-log"));
+ ServerVersion expected = new ServerVersion("5.5.0-log");
mockChannelResponse(expected);
client.connect();
- ServerInfo actual = (ServerInfo)
Plugins.getMemberAccessor().get(MySQLBinlogClient.class.getDeclaredField("serverInfo"),
client);
+ ServerVersion actual = (ServerVersion)
Plugins.getMemberAccessor().get(MySQLBinlogClient.class.getDeclaredField("serverVersion"),
client);
assertThat(actual, is(expected));
}
@@ -121,8 +121,8 @@ class MySQLBinlogClientTest {
@Test
void assertSubscribeBelow56Version() throws ReflectiveOperationException {
- ServerInfo serverInfo = new ServerInfo(new ServerVersion("5.5.0-log"));
-
Plugins.getMemberAccessor().set(MySQLBinlogClient.class.getDeclaredField("serverInfo"),
client, serverInfo);
+ ServerVersion serverInfo = new ServerVersion("5.5.0-log");
+
Plugins.getMemberAccessor().set(MySQLBinlogClient.class.getDeclaredField("serverVersion"),
client, serverInfo);
Plugins.getMemberAccessor().set(MySQLBinlogClient.class.getDeclaredField("channel"),
client, channel);
Plugins.getMemberAccessor().set(MySQLBinlogClient.class.getDeclaredField("eventLoopGroup"),
client, new NioEventLoopGroup(1));
mockChannelResponse(new MySQLOKPacket(0));
diff --git
a/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/netty/MySQLNegotiateHandlerTest.java
b/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/netty/MySQLNegotiateHandlerTest.java
index 4f3424b27e7..54cab6c6138 100644
---
a/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/netty/MySQLNegotiateHandlerTest.java
+++
b/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/netty/MySQLNegotiateHandlerTest.java
@@ -21,7 +21,6 @@ import io.netty.channel.Channel;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelPipeline;
import io.netty.util.concurrent.Promise;
-import
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.ServerInfo;
import
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.ServerVersion;
import
org.apache.shardingsphere.db.protocol.mysql.constant.MySQLAuthenticationMethod;
import
org.apache.shardingsphere.db.protocol.mysql.packet.generic.MySQLErrPacket;
@@ -83,20 +82,20 @@ class MySQLNegotiateHandlerTest {
handshakePacket.setAuthPluginName(MySQLAuthenticationMethod.NATIVE);
mysqlNegotiateHandler.channelRead(channelHandlerContext,
handshakePacket);
verify(channel).writeAndFlush(ArgumentMatchers.any(MySQLHandshakeResponse41Packet.class));
- ServerInfo serverInfo = (ServerInfo)
Plugins.getMemberAccessor().get(MySQLNegotiateHandler.class.getDeclaredField("serverInfo"),
mysqlNegotiateHandler);
-
assertThat(Plugins.getMemberAccessor().get(ServerVersion.class.getDeclaredField("major"),
serverInfo.getServerVersion()), is(5));
-
assertThat(Plugins.getMemberAccessor().get(ServerVersion.class.getDeclaredField("minor"),
serverInfo.getServerVersion()), is(7));
-
assertThat(Plugins.getMemberAccessor().get(ServerVersion.class.getDeclaredField("series"),
serverInfo.getServerVersion()), is(22));
+ ServerVersion serverVersion = (ServerVersion)
Plugins.getMemberAccessor().get(MySQLNegotiateHandler.class.getDeclaredField("serverVersion"),
mysqlNegotiateHandler);
+
assertThat(Plugins.getMemberAccessor().get(ServerVersion.class.getDeclaredField("major"),
serverVersion), is(5));
+
assertThat(Plugins.getMemberAccessor().get(ServerVersion.class.getDeclaredField("minor"),
serverVersion), is(7));
+
assertThat(Plugins.getMemberAccessor().get(ServerVersion.class.getDeclaredField("series"),
serverVersion), is(22));
}
@Test
void assertChannelReadOkPacket() throws ReflectiveOperationException {
MySQLOKPacket okPacket = new MySQLOKPacket(0);
- ServerInfo serverInfo = new ServerInfo(new ServerVersion("5.5.0-log"));
-
Plugins.getMemberAccessor().set(MySQLNegotiateHandler.class.getDeclaredField("serverInfo"),
mysqlNegotiateHandler, serverInfo);
+ ServerVersion serverVersion = new ServerVersion("5.5.0-log");
+
Plugins.getMemberAccessor().set(MySQLNegotiateHandler.class.getDeclaredField("serverVersion"),
mysqlNegotiateHandler, serverVersion);
mysqlNegotiateHandler.channelRead(channelHandlerContext, okPacket);
verify(pipeline).remove(mysqlNegotiateHandler);
- verify(authResultCallback).setSuccess(serverInfo);
+ verify(authResultCallback).setSuccess(serverVersion);
}
@Test