This is an automated email from the ASF dual-hosted git repository.

sunnianjun 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 12a647ee09e Fix the wrong IP was generated when the jdbc instance 
starts in the cluster (#31602)
12a647ee09e is described below

commit 12a647ee09e04708e995266b6f799a031bea2278
Author: Haoran Meng <[email protected]>
AuthorDate: Thu Jun 6 16:06:34 2024 +0800

    Fix the wrong IP was generated when the jdbc instance starts in the cluster 
(#31602)
---
 .../infra/instance/metadata/InstanceMetaDataFactory.java          | 2 +-
 .../infra/instance/metadata/jdbc/JDBCInstanceMetaData.java        | 8 ++++----
 .../infra/instance/metadata/InstanceMetaDataFactoryTest.java      | 4 ++--
 .../mode/service/ComputeNodePersistServiceTest.java               | 5 ++---
 4 files changed, 9 insertions(+), 10 deletions(-)

diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/metadata/InstanceMetaDataFactory.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/metadata/InstanceMetaDataFactory.java
index 01d5f491d0e..3ee4d6e9d60 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/metadata/InstanceMetaDataFactory.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/metadata/InstanceMetaDataFactory.java
@@ -38,6 +38,6 @@ public final class InstanceMetaDataFactory {
      * @return created instance meta data
      */
     public static InstanceMetaData create(final String instanceId, final 
InstanceType instanceType, final String attributes, final String version) {
-        return InstanceType.JDBC == instanceType ? new 
JDBCInstanceMetaData(instanceId, version) : new 
ProxyInstanceMetaData(instanceId, attributes, version);
+        return InstanceType.JDBC == instanceType ? new 
JDBCInstanceMetaData(instanceId, attributes, version) : new 
ProxyInstanceMetaData(instanceId, attributes, version);
     }
 }
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/metadata/jdbc/JDBCInstanceMetaData.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/metadata/jdbc/JDBCInstanceMetaData.java
index b1bd16a0d28..989a7c29697 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/metadata/jdbc/JDBCInstanceMetaData.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/metadata/jdbc/JDBCInstanceMetaData.java
@@ -38,12 +38,12 @@ public final class JDBCInstanceMetaData implements 
InstanceMetaData {
     public JDBCInstanceMetaData(final String id) {
         this.id = id;
         ip = IpUtils.getIp();
-        this.version = ShardingSphereVersion.VERSION;
+        version = ShardingSphereVersion.VERSION;
     }
     
-    public JDBCInstanceMetaData(final String id, final String version) {
+    public JDBCInstanceMetaData(final String id, final String attributes, 
final String version) {
         this.id = id;
-        ip = IpUtils.getIp();
+        ip = attributes;
         this.version = version;
     }
     
@@ -54,6 +54,6 @@ public final class JDBCInstanceMetaData implements 
InstanceMetaData {
     
     @Override
     public String getAttributes() {
-        return "";
+        return ip;
     }
 }
diff --git 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/instance/metadata/InstanceMetaDataFactoryTest.java
 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/instance/metadata/InstanceMetaDataFactoryTest.java
index 76ef2db6554..bbb091b153a 100644
--- 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/instance/metadata/InstanceMetaDataFactoryTest.java
+++ 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/instance/metadata/InstanceMetaDataFactoryTest.java
@@ -28,10 +28,10 @@ class InstanceMetaDataFactoryTest {
     
     @Test
     void assertCreateJDBCInstanceMetaDataWithInstanceId() {
-        InstanceMetaData actual = InstanceMetaDataFactory.create("foo_id", 
InstanceType.JDBC, "", "foo_version");
+        InstanceMetaData actual = InstanceMetaDataFactory.create("foo_id", 
InstanceType.JDBC, "127.0.0.1", "foo_version");
         assertThat(actual.getId(), is("foo_id"));
         assertNotNull(actual.getIp());
-        assertThat(actual.getAttributes(), is(""));
+        assertThat(actual.getAttributes(), is("127.0.0.1"));
         assertThat(actual.getVersion(), is("foo_version"));
         assertThat(actual.getType(), is(InstanceType.JDBC));
     }
diff --git 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/service/ComputeNodePersistServiceTest.java
 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/service/ComputeNodePersistServiceTest.java
index 19265284fdc..dae7932226e 100644
--- 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/service/ComputeNodePersistServiceTest.java
+++ 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/service/ComputeNodePersistServiceTest.java
@@ -21,7 +21,6 @@ import 
org.apache.shardingsphere.infra.instance.ComputeNodeInstance;
 import org.apache.shardingsphere.infra.instance.metadata.InstanceMetaData;
 import org.apache.shardingsphere.infra.instance.metadata.InstanceType;
 import 
org.apache.shardingsphere.infra.instance.metadata.proxy.ProxyInstanceMetaData;
-import org.apache.shardingsphere.infra.instance.util.IpUtils;
 import org.apache.shardingsphere.infra.instance.yaml.YamlComputeNodeData;
 import org.apache.shardingsphere.infra.state.instance.InstanceState;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
@@ -111,7 +110,7 @@ class ComputeNodePersistServiceTest {
         
when(repository.getChildrenKeys("/nodes/compute_nodes/online/jdbc")).thenReturn(Collections.singletonList("foo_instance_3307"));
         
when(repository.getChildrenKeys("/nodes/compute_nodes/online/proxy")).thenReturn(Collections.singletonList("foo_instance_3308"));
         YamlComputeNodeData yamlComputeNodeData0 = new YamlComputeNodeData();
-        yamlComputeNodeData0.setAttribute("127.0.0.1@3307");
+        yamlComputeNodeData0.setAttribute("127.0.0.1");
         yamlComputeNodeData0.setVersion("foo_version");
         
when(repository.query("/nodes/compute_nodes/online/jdbc/foo_instance_3307")).thenReturn(YamlEngine.marshal(yamlComputeNodeData0));
         YamlComputeNodeData yamlComputeNodeData1 = new YamlComputeNodeData();
@@ -121,7 +120,7 @@ class ComputeNodePersistServiceTest {
         List<ComputeNodeInstance> actual = new ArrayList<>(new 
ComputeNodePersistService(repository).loadAllComputeNodeInstances());
         assertThat(actual.size(), is(2));
         assertThat(actual.get(0).getMetaData().getId(), 
is("foo_instance_3307"));
-        assertThat(actual.get(0).getMetaData().getIp(), is(IpUtils.getIp()));
+        assertThat(actual.get(0).getMetaData().getIp(), is("127.0.0.1"));
         assertThat(actual.get(1).getMetaData().getId(), 
is("foo_instance_3308"));
         assertThat(actual.get(1).getMetaData().getIp(), is("127.0.0.1"));
         assertThat(actual.get(1).getMetaData().getType(), 
is(InstanceType.PROXY));

Reply via email to