From f9378cf7325eb5804fca6b2df3d2f785f6a68321 Mon Sep 17 00:00:00 2001 From: DerekYRC <44155264+DerekYRC@users.noreply.github.com> Date: Wed, 2 Nov 2022 20:16:33 +0800 Subject: [PATCH 1/2] Register the service with the ProviderAPI#registerInstance method (#686) * register the service with the ProviderAPI#registerInstance method * update changelog --- CHANGELOG.md | 1 + .../polaris/PolarisDiscoveryProperties.java | 22 +------- .../registry/PolarisServiceRegistry.java | 50 +++++++++---------- .../PolarisDiscoveryPropertiesTest.java | 5 -- 4 files changed, 25 insertions(+), 53 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c817ac07..df048077d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,3 +3,4 @@ - [Optimize:optimize SpringValueProcessor.](https://github.com/Tencent/spring-cloud-tencent/pull/655) - [Optimize/optimize annotation.](https://github.com/Tencent/spring-cloud-tencent/pull/672) +- [Optimize: Register the service with the ProviderAPI#registerInstance method.](https://github.com/Tencent/spring-cloud-tencent/pull/686) diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/PolarisDiscoveryProperties.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/PolarisDiscoveryProperties.java index 731676858..cf1b9dfff 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/PolarisDiscoveryProperties.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/PolarisDiscoveryProperties.java @@ -84,12 +84,6 @@ public class PolarisDiscoveryProperties { @Value("${spring.cloud.polaris.discovery.register:#{true}}") private Boolean registerEnabled; - /** - * If heartbeat enabled. - */ - @Value("${spring.cloud.polaris.discovery.heartbeat.enabled:#{true}}") - private Boolean heartbeatEnabled = true; - /** * Heartbeat interval ( 0 < interval <= 60). * Time unit: second. Default: 5. @@ -108,15 +102,6 @@ public class PolarisDiscoveryProperties { */ private Long serviceListRefreshInterval = 60000L; - - public boolean isHeartbeatEnabled() { - return heartbeatEnabled; - } - - public void setHeartbeatEnabled(Boolean heartbeatEnabled) { - this.heartbeatEnabled = heartbeatEnabled; - } - public String getNamespace() { return namespace; } @@ -206,7 +191,7 @@ public class PolarisDiscoveryProperties { } public Integer getHeartbeatInterval() { - if (this.heartbeatEnabled && (this.heartbeatInterval <= 0 || this.heartbeatInterval > 60)) { + if (this.heartbeatInterval <= 0 || this.heartbeatInterval > 60) { heartbeatInterval = DEFAULT_REGISTRY_HEARTBEAT_TIME_INTERVAL; } return heartbeatInterval; @@ -228,10 +213,6 @@ public class PolarisDiscoveryProperties { this.registerEnabled = registerEnabled; } - public Boolean getHeartbeatEnabled() { - return heartbeatEnabled; - } - @Override public String toString() { return "PolarisDiscoveryProperties{" + @@ -244,7 +225,6 @@ public class PolarisDiscoveryProperties { ", port=" + port + ", enabled=" + enabled + ", registerEnabled=" + registerEnabled + - ", heartbeatEnabled=" + heartbeatEnabled + ", heartbeatInterval=" + heartbeatInterval + ", healthCheckUrl='" + healthCheckUrl + '\'' + ", serviceListRefreshInterval=" + serviceListRefreshInterval + diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistry.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistry.java index e27bb27b2..4a2afd880 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistry.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistry.java @@ -68,7 +68,7 @@ public class PolarisServiceRegistry implements ServiceRegistry { try { String healthCheckEndpoint = polarisDiscoveryProperties.getHealthCheckUrl(); - // First determine whether health-check-url is configured. - // If configured, the service instance health check needs to be executed - // first. // If the health check passes, the heartbeat will be reported. // If it does not pass, the heartbeat will not be reported. - if (StringUtils.isNotBlank(healthCheckEndpoint)) { - if (!healthCheckEndpoint.startsWith("/")) { - healthCheckEndpoint = "/" + healthCheckEndpoint; - } - - String healthCheckUrl = String.format("http://%s:%s%s", heartbeatRequest.getHost(), - heartbeatRequest.getPort(), healthCheckEndpoint); - - if (!OkHttpUtil.get(healthCheckUrl, null)) { - LOGGER.error("backend service health check failed. health check endpoint = {}", - healthCheckEndpoint); - return; - } + if (!healthCheckEndpoint.startsWith("/")) { + healthCheckEndpoint = "/" + healthCheckEndpoint; + } + + String healthCheckUrl = String.format("http://%s:%s%s", heartbeatRequest.getHost(), + heartbeatRequest.getPort(), healthCheckEndpoint); + + if (!OkHttpUtil.get(healthCheckUrl, null)) { + LOGGER.error("backend service health check failed. health check endpoint = {}", + healthCheckEndpoint); + return; } polarisDiscoveryHandler.getProviderAPI().heartbeat(heartbeatRequest); diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/PolarisDiscoveryPropertiesTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/PolarisDiscoveryPropertiesTest.java index 52a264868..6b7ed6e47 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/PolarisDiscoveryPropertiesTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/PolarisDiscoveryPropertiesTest.java @@ -37,10 +37,6 @@ public class PolarisDiscoveryPropertiesTest { public void testGetAndSet() { PolarisDiscoveryProperties polarisDiscoveryProperties = new PolarisDiscoveryProperties(); - // HeartbeatEnabled - polarisDiscoveryProperties.setHeartbeatEnabled(true); - assertThat(polarisDiscoveryProperties.isHeartbeatEnabled()).isTrue(); - // HeartbeatEnabled polarisDiscoveryProperties.setHeartbeatInterval(200); assertThat(polarisDiscoveryProperties.getHeartbeatInterval()).isEqualTo(5); @@ -103,7 +99,6 @@ public class PolarisDiscoveryPropertiesTest { + ", port=9091" + ", enabled=true" + ", registerEnabled=true" - + ", heartbeatEnabled=true" + ", heartbeatInterval=20" + ", healthCheckUrl='/health'" + ", serviceListRefreshInterval=1000}"); From 4ebfd3128f07fbaa45055763d95f530cb5d67eb5 Mon Sep 17 00:00:00 2001 From: Haotian Zhang <928016560@qq.com> Date: Thu, 3 Nov 2022 11:49:35 +0800 Subject: [PATCH 2/2] docs:update PR template. (#690) --- .github/PULL_REQUEST_TEMPLATE.md | 12 ++++--- .github/workflows/codecov.yml | 34 +++++++++++++++++++ CHANGELOG.md | 1 + .../RateLimitRuleLabelResolverTest.java | 2 +- .../PolarisRateLimitRuleEndpointTests.java | 2 +- spring-cloud-tencent-dependencies/pom.xml | 2 +- 6 files changed, 46 insertions(+), 7 deletions(-) create mode 100644 .github/workflows/codecov.yml diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index b89266620..7d9d0022d 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -13,16 +13,20 @@ Other... Please describe: ## Adding the issue link (#xxx) if possible. + + ## Note ## Checklist -- [ ] Add copyright holder at the beginning of .class file if it is new. -- [ ] Add information of this PR to CHANGELOG.md in root of project. +- [ ] Coverage from `Codecov Report` should not decrease (which means adding junit tests for adding or updating code). - [ ] All junit tests passing. -- [ ] Coverage from `Codecov Report` should not decrease. +- [ ] Add copyright holder at the beginning of .java file if it is new. +- [ ] Add information of this PR to CHANGELOG.md in root of project. ## Checklist (Optional) - [ ] Will Pull Request to branch of 2020.0 and hoxton. -- [ ] Add documentation in javadoc in code or comment below the PR if necessary. +- [ ] Add documentation in javadoc or comment below the PR if necessary. diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml new file mode 100644 index 000000000..721286f3d --- /dev/null +++ b/.github/workflows/codecov.yml @@ -0,0 +1,34 @@ +name: Codecov + +on: + push: + branches: + - hoxton + - 2021.0 + - 2020.0 + - greenwich + pull_request: + branches: + - hoxton + - 2021.0 + - 2020.0 + - greenwich + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout codes + uses: actions/checkout@v3 + - name: Set up JDK 8 + uses: actions/setup-java@v3 + with: + distribution: 'temurin' + java-version: 8 + - name: Test with Maven + run: mvn -B test --file pom.xml + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v3 + with: + file: ${{ github.workspace }}/target/site/jacoco/jacoco.xml diff --git a/CHANGELOG.md b/CHANGELOG.md index df048077d..80e984266 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,3 +4,4 @@ - [Optimize:optimize SpringValueProcessor.](https://github.com/Tencent/spring-cloud-tencent/pull/655) - [Optimize/optimize annotation.](https://github.com/Tencent/spring-cloud-tencent/pull/672) - [Optimize: Register the service with the ProviderAPI#registerInstance method.](https://github.com/Tencent/spring-cloud-tencent/pull/686) +- [docs:update PR template.](https://github.com/Tencent/spring-cloud-tencent/pull/690) diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/RateLimitRuleLabelResolverTest.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/RateLimitRuleLabelResolverTest.java index 96b73cea9..c9abe032d 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/RateLimitRuleLabelResolverTest.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/RateLimitRuleLabelResolverTest.java @@ -61,7 +61,7 @@ public class RateLimitRuleLabelResolverTest { } else { ModelProto.MatchString matchString = ModelProto.MatchString.newBuilder() - .setType(ModelProto.MatchString.MatchStringType.EXACT) + .setType(ModelProto.Operation.EXACT) .setValue(StringValue.of("value")) .setValueType(ModelProto.MatchString.ValueType.TEXT).build(); RateLimitProto.Rule rule = RateLimitProto.Rule.newBuilder() diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpointTests.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpointTests.java index 33edd0b36..d157c1e0a 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpointTests.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpointTests.java @@ -83,7 +83,7 @@ public class PolarisRateLimitRuleEndpointTests { } else { ModelProto.MatchString matchString = ModelProto.MatchString.newBuilder() - .setType(ModelProto.MatchString.MatchStringType.EXACT) + .setType(ModelProto.Operation.EXACT) .setValue(StringValue.of("value")) .setValueType(ModelProto.MatchString.ValueType.TEXT).build(); RateLimitProto.Rule rule = RateLimitProto.Rule.newBuilder() diff --git a/spring-cloud-tencent-dependencies/pom.xml b/spring-cloud-tencent-dependencies/pom.xml index 4b7214f9f..8126a44b3 100644 --- a/spring-cloud-tencent-dependencies/pom.xml +++ b/spring-cloud-tencent-dependencies/pom.xml @@ -73,7 +73,7 @@ 1.9.0-2021.0.3-SNAPSHOT - 1.9.1 + 1.10.0-SNAPSHOT 31.0.1-jre 1.2.11 4.5.1