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

Reply via email to