fix:fix ipv6 instance not found bug.

SkyeBeFreeman 2 months ago committed by Haotian Zhang
parent 45ca88c3ee
commit 82cbe32eb3

@ -11,3 +11,4 @@
- [feat:support instance detect.](https://github.com/Tencent/spring-cloud-tencent/pull/1617)
- [fix: fix loadbalancer metadata type.](https://github.com/Tencent/spring-cloud-tencent/pull/1625)
- [feat:support polaris server nearby backup LB.](https://github.com/Tencent/spring-cloud-tencent/pull/1627)
- fix:fix ipv6 instance not found bug.

@ -25,6 +25,9 @@ import java.util.Set;
import com.tencent.cloud.common.spi.InstanceMetadataProvider;
import com.tencent.cloud.common.util.ApplicationContextAwareUtils;
import com.tencent.cloud.common.util.inet.PolarisInetUtils;
import com.tencent.polaris.api.utils.StringUtils;
import com.tencent.polaris.metadata.core.constant.MetadataConstants;
import static com.tencent.cloud.common.constant.MetadataConstant.DefaultMetadata.DEFAULT_METADATA_SOURCE_SERVICE_NAME;
import static com.tencent.cloud.common.constant.MetadataConstant.DefaultMetadata.DEFAULT_METADATA_SOURCE_SERVICE_NAMESPACE;
@ -48,10 +51,18 @@ public class DefaultInstanceMetadataProvider implements InstanceMetadataProvider
@Override
public Map<String, String> getMetadata() {
return new HashMap<String, String>() {{
put(DEFAULT_METADATA_SOURCE_SERVICE_NAMESPACE, LOCAL_NAMESPACE);
put(DEFAULT_METADATA_SOURCE_SERVICE_NAME, LOCAL_SERVICE);
}};
Map<String, String> metadata = new HashMap<>();
metadata.put(DEFAULT_METADATA_SOURCE_SERVICE_NAMESPACE, LOCAL_NAMESPACE);
metadata.put(DEFAULT_METADATA_SOURCE_SERVICE_NAME, LOCAL_SERVICE);
String ipv4Address = PolarisInetUtils.getIpString(false);
if (StringUtils.isNotBlank(ipv4Address)) {
metadata.put(MetadataConstants.ADDRESS_IPV4, ipv4Address);
}
String ipv6Address = PolarisInetUtils.getIpString(true);
if (StringUtils.isNotBlank(ipv6Address)) {
metadata.put(MetadataConstants.ADDRESS_IPV6, ipv6Address);
}
return metadata;
}
@Override

@ -57,6 +57,7 @@ import static org.mockito.Mockito.when;
@ExtendWith({MockitoExtension.class, SystemStubsExtension.class})
public class StaticMetadataManagerTest {
private static MockedStatic<ApplicationContextAwareUtils> mockedApplicationContextAwareUtils;
/**
* EnvironmentVariablesRule.
*/
@ -65,8 +66,6 @@ public class StaticMetadataManagerTest {
@Mock
private MetadataLocalProperties metadataLocalProperties;
private static MockedStatic<ApplicationContextAwareUtils> mockedApplicationContextAwareUtils;
@BeforeAll
static void beforeAll() {
mockedApplicationContextAwareUtils = Mockito.mockStatic(ApplicationContextAwareUtils.class);
@ -137,7 +136,7 @@ public class StaticMetadataManagerTest {
Arrays.asList(new MockedMetadataProvider(), new DefaultInstanceMetadataProvider(null)));
Map<String, String> metadata = metadataManager.getAllCustomMetadata();
assertThat(metadata.size()).isEqualTo(5);
assertThat(metadata.size()).isGreaterThanOrEqualTo(5);
assertThat(metadata.get("k1")).isEqualTo("v1");
assertThat(metadata.get("k2")).isEqualTo("v22");
assertThat(metadata.get("k3")).isEqualTo("v33");
@ -182,7 +181,7 @@ public class StaticMetadataManagerTest {
Arrays.asList(new MockedMetadataProvider(), new DefaultInstanceMetadataProvider(null)));
Map<String, String> metadata = metadataManager.getMergedStaticMetadata();
assertThat(metadata.size()).isEqualTo(8);
assertThat(metadata.size()).isGreaterThanOrEqualTo(8);
assertThat(metadata.get("k1")).isEqualTo("v1");
assertThat(metadata.get("k2")).isEqualTo("v22");
assertThat(metadata.get("k3")).isEqualTo("v33");

Loading…
Cancel
Save