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

albumenj pushed a commit to branch 3.3
in repository https://gitbox.apache.org/repos/asf/dubbo.git

commit c38fa0ac8bd6f460767f4169ea6f7e4c19927737
Merge: 46af145730 7a3ad4ab41
Author: Albumen Kevin <[email protected]>
AuthorDate: Fri Jan 19 15:19:31 2024 +0800

    Merge branch 'apache-3.2' into apache-3.3
    
    # Conflicts:
    #       .editorconfig
    #       dubbo-build-tools/pom.xml
    #       
dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/MergeableClusterInvoker.java
    #       dubbo-dependencies-bom/pom.xml
    #       dubbo-dependencies/dubbo-dependencies-zookeeper-curator5/pom.xml
    #       dubbo-dependencies/dubbo-dependencies-zookeeper/pom.xml
    #       dubbo-native-plugin/pom.xml
    #       dubbo-spring-boot/pom.xml

 .editorconfig                                      | 52 ++++++++++++++++--
 .github/workflows/build-and-test-pr.yml            | 61 +++++++++++++++++++---
 NOTICE                                             |  2 +-
 SECURITY.md                                        | 12 +++--
 .../cluster/support/MergeableClusterInvoker.java   | 22 ++++++--
 .../threadpool/support/AbortPolicyWithReport.java  | 18 ++++---
 .../apache/dubbo/config/AbstractServiceConfig.java |  2 +-
 .../org/apache/dubbo/common/URLStrParserTest.java  | 24 +++++++--
 dubbo-demo/dubbo-demo-spring-boot/pom.xml          |  2 +-
 dubbo-dependencies-bom/pom.xml                     | 20 +++----
 .../dubbo-dependencies-zookeeper-curator5/pom.xml  |  4 +-
 .../dubbo-dependencies-zookeeper/pom.xml           |  4 +-
 dubbo-dependencies/pom.xml                         |  2 +-
 dubbo-distribution/pom.xml                         |  2 +-
 dubbo-maven-plugin/pom.xml                         |  2 +-
 .../support/CacheableFailbackRegistry.java         | 16 ------
 .../dubbo/registry/support/FailbackRegistry.java   | 15 ++++++
 .../dubbo/registry/multiple/MultipleRegistry.java  |  5 +-
 .../apache/dubbo/registry/nacos/NacosRegistry.java |  1 +
 .../dubbo/remoting/http/rest/RestClientTest.java   | 47 +++++++++++++++++
 .../apache/dubbo/rpc/filter/ExceptionFilter.java   |  4 +-
 .../dubbo/rpc/filter/ExceptionFilterTest.java      |  2 +-
 .../protocol/injvm/DefaultParamDeepCopyUtil.java   |  5 ++
 .../rpc/protocol/rest/constans/RestConstant.java   |  3 ++
 .../rpc/protocol/rest/request/RequestFacade.java   | 23 ++++++++
 .../rpc/protocol/rest/util/DataParseUtils.java     | 37 +++++++++++++
 .../rpc/protocol/rest/DataParseUtilsTest.java      | 11 ++++
 .../rpc/protocol/rest/NettyRequestFacadeTest.java  | 35 +++++++++++++
 .../observability/pom.xml                          |  8 +--
 dubbo-test/dubbo-test-check/pom.xml                |  2 +-
 pom.xml                                            |  8 +--
 31 files changed, 371 insertions(+), 80 deletions(-)

diff --cc .editorconfig
index 68a55e7857,5de62e0893..5f30c32f45
--- a/.editorconfig
+++ b/.editorconfig
@@@ -22,13 -22,52 +22,55 @@@ root = tru
  [*]
  charset = utf-8
  end_of_line = lf
+ indent_size = 4
+ indent_style = space
+ tab_width = 4
+ max_line_length = 120
  insert_final_newline = true
+ trim_trailing_whitespace = true
  
- # 4 space indentation
- [*.{java,xml}]
- indent_style = space
- indent_size = 4
+ [*.java]
+ ij_java_continuation_indent_size = 8
+ ij_java_keep_control_statement_in_one_line = false
+ ij_java_for_brace_force = always
+ ij_java_if_brace_force = always
+ ij_java_keep_first_column_comment = false
+ ij_java_keep_line_breaks = false
+ ij_java_keep_simple_blocks_in_one_line = true
+ ij_java_keep_simple_classes_in_one_line = true
+ ij_java_keep_simple_lambdas_in_one_line = true
+ ij_java_keep_simple_methods_in_one_line = true
+ ij_java_keep_blank_lines_in_code = 1
+ ij_java_keep_blank_lines_in_declarations = 1
+ ij_java_class_count_to_use_import_on_demand = 999
+ ij_java_names_count_to_use_import_on_demand = 999
+ ij_java_imports_layout = org.apache.dubbo.**, |, javax.**, |, java.**, |, *, 
|, $*
+ ij_java_insert_inner_class_imports = true
+ ij_java_space_before_array_initializer_left_brace = true
+ ij_java_method_parameters_new_line_after_left_paren = true
+ ij_java_wrap_comments = true
+ ij_java_wrap_long_lines = true
+ ij_java_enum_constants_wrap = split_into_lines
+ ij_java_method_call_chain_wrap = split_into_lines
+ ij_java_method_parameters_wrap = on_every_item
+ ij_java_extends_list_wrap = on_every_item
+ ij_java_extends_keyword_wrap = normal
+ ij_java_binary_operation_wrap = normal
+ ij_java_binary_operation_sign_on_next_line = true
+ 
+ [*.json]
+ tab_width = 2
+ 
+ [*.{yml,yaml}]
+ indent_size = 2
+ 
+ [*.xml]
+ ij_xml_attribute_wrap = off
+ ij_xml_text_wrap = off
+ ij_xml_keep_blank_lines = 1
+ 
+ [pom.xml]
+ indent_size = 2
 +
 +[pom.xml]
 +indent_size = 2
diff --cc 
dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/MergeableClusterInvoker.java
index 7ae3796e90,e15f76d08d..90e8288fa9
--- 
a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/MergeableClusterInvoker.java
+++ 
b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/MergeableClusterInvoker.java
@@@ -92,8 -95,22 +94,22 @@@ public class MergeableClusterInvoker<T
          Map<String, Result> results = new HashMap<>();
          for (final Invoker<T> invoker : invokers) {
              RpcInvocation subInvocation = new RpcInvocation(invocation, 
invoker);
 -            subInvocation.setAttachment(ASYNC_KEY, "true");
 +            subInvocation.setAttachment(Constants.ASYNC_KEY, "true");
-             results.put(invoker.getUrl().getServiceKey(), 
invokeWithContext(invoker, subInvocation));
+             try {
+                 results.put(invoker.getUrl().getServiceKey(), 
invokeWithContext(invoker, subInvocation));
+             } catch (RpcException e) {
+                 if (e.isNoInvokerAvailableAfterFilter()) {
+                     log.warn(
+                             LoggerCodeConstants.CLUSTER_NO_VALID_PROVIDER,
+                             e.getCause().getMessage(),
+                             "",
+                             "No available provider for service" + 
getUrl().getServiceKey() + " on group "
+                                     + invoker.getUrl().getGroup() + ", will 
continue to try another group.",
+                             e);
+                 } else {
+                     throw e;
+                 }
+             }
          }
  
          Object result;
diff --cc dubbo-demo/dubbo-demo-spring-boot/pom.xml
index 5668551daf,9dbb5ac36f..90860bd948
--- a/dubbo-demo/dubbo-demo-spring-boot/pom.xml
+++ b/dubbo-demo/dubbo-demo-spring-boot/pom.xml
@@@ -35,9 -35,10 +35,9 @@@
      <skip_maven_deploy>true</skip_maven_deploy>
      <spring-boot.version>2.7.18</spring-boot.version>
      
<spring-boot-maven-plugin.version>2.7.18</spring-boot-maven-plugin.version>
-     <micrometer-core.version>1.12.1</micrometer-core.version>
+     <micrometer-core.version>1.12.2</micrometer-core.version>
    </properties>
 +
    <dependencyManagement>
      <dependencies>
        <dependency>
diff --cc dubbo-dependencies-bom/pom.xml
index a2c562279e,b74bb10d99..c29f3ba38d
--- a/dubbo-dependencies-bom/pom.xml
+++ b/dubbo-dependencies-bom/pom.xml
@@@ -99,8 -99,8 +99,8 @@@
      <httpclient_version>4.5.14</httpclient_version>
      <httpcore_version>4.4.16</httpcore_version>
      <fastjson_version>1.2.83</fastjson_version>
-     <fastjson2_version>2.0.44</fastjson2_version>
+     <fastjson2_version>2.0.45</fastjson2_version>
 -    <zookeeper_version>3.7.0</zookeeper_version>
 +    <zookeeper_version>3.7.2</zookeeper_version>
      <curator_version>5.1.0</curator_version>
      <curator_test_version>2.12.0</curator_test_version>
      <jedis_version>3.10.0</jedis_version>
@@@ -119,10 -119,9 +119,10 @@@
      <snakeyaml_version>2.2</snakeyaml_version>
      <commons_lang3_version>3.14.0</commons_lang3_version>
      <envoy_api_version>0.1.35</envoy_api_version>
-     <micrometer.version>1.12.1</micrometer.version>
+     <micrometer.version>1.12.2</micrometer.version>
 -
 +    <opentelemetry.version>1.26.0</opentelemetry.version>
 +    <zipkin-reporter.version>2.16.4</zipkin-reporter.version>
-     <micrometer-tracing.version>1.2.1</micrometer-tracing.version>
+     <micrometer-tracing.version>1.2.2</micrometer-tracing.version>
      <t_digest.version>3.3</t_digest.version>
      <prometheus_client.version>0.16.0</prometheus_client.version>
      <reactive.version>1.0.4</reactive.version>
@@@ -133,23 -132,19 +133,23 @@@
      <rs_api_version>2.1.1</rs_api_version>
      <resteasy_version>3.15.6.Final</resteasy_version>
      <codehaus-jackson_version>1.9.13</codehaus-jackson_version>
-     <tomcat_embed_version>8.5.97</tomcat_embed_version>
+     <tomcat_embed_version>8.5.98</tomcat_embed_version>
      <nacos_version>2.2.4</nacos_version>
 +    <sentinel.version>1.8.6</sentinel.version>
 +    <seata.version>1.6.1</seata.version>
-     <grpc.version>1.60.1</grpc.version>
+     <grpc.version>1.61.0</grpc.version>
      <grpc_contrib_verdion>0.8.1</grpc_contrib_verdion>
      <jprotoc_version>1.2.2</jprotoc_version>
 +    <mustache_version>0.9.10</mustache_version>
      <!-- Log libs -->
      <slf4j_version>1.7.36</slf4j_version>
      <jcl_version>1.3.0</jcl_version>
      <log4j_version>1.2.17</log4j_version>
      <logback_version>1.2.13</logback_version>
      <!-- Fix the bug of log4j 
refer:https://github.com/apache/logging-log4j2/pull/608 -->
-     <log4j2_version>2.22.0</log4j2_version>
+     <log4j2_version>2.22.1</log4j2_version>
      <commons_io_version>2.15.1</commons_io_version>
 +    <commons-codec_version>1.16.0</commons-codec_version>
  
      <embedded_redis_version>0.13.0</embedded_redis_version>
  
diff --cc dubbo-dependencies/dubbo-dependencies-zookeeper-curator5/pom.xml
index 0cf95672d5,5ae0066ef0..7af1e8961c
--- a/dubbo-dependencies/dubbo-dependencies-zookeeper-curator5/pom.xml
+++ b/dubbo-dependencies/dubbo-dependencies-zookeeper-curator5/pom.xml
@@@ -31,12 -31,11 +31,12 @@@
    <packaging>pom</packaging>
  
    <properties>
 -    <revision>3.2.11-SNAPSHOT</revision>
 +    <revision>3.3.0-beta.2-SNAPSHOT</revision>
-     <maven_flatten_version>1.5.0</maven_flatten_version>
+     <maven_flatten_version>1.6.0</maven_flatten_version>
 +    <slf4j_version>1.7.36</slf4j_version>
      <curator5_version>5.1.0</curator5_version>
      <zookeeper_version>3.8.3</zookeeper_version>
-     <spotless-maven-plugin.version>2.41.1</spotless-maven-plugin.version>
+     <spotless-maven-plugin.version>2.42.0</spotless-maven-plugin.version>
      <spotless.action>check</spotless.action>
      <dubbo-shared-resources.version>1.0.0</dubbo-shared-resources.version>
      <palantirJavaFormat.version>2.38.0</palantirJavaFormat.version>
diff --cc dubbo-dependencies/dubbo-dependencies-zookeeper/pom.xml
index ea2e35d93b,de82fdf219..6361bebc19
--- a/dubbo-dependencies/dubbo-dependencies-zookeeper/pom.xml
+++ b/dubbo-dependencies/dubbo-dependencies-zookeeper/pom.xml
@@@ -31,12 -31,11 +31,12 @@@
    <packaging>pom</packaging>
  
    <properties>
 -    <revision>3.2.11-SNAPSHOT</revision>
 +    <revision>3.3.0-beta.2-SNAPSHOT</revision>
-     <maven_flatten_version>1.5.0</maven_flatten_version>
+     <maven_flatten_version>1.6.0</maven_flatten_version>
 +    <slf4j_version>1.7.36</slf4j_version>
      <curator_version>4.3.0</curator_version>
      <zookeeper_version>3.4.14</zookeeper_version>
-     <spotless-maven-plugin.version>2.41.1</spotless-maven-plugin.version>
+     <spotless-maven-plugin.version>2.42.0</spotless-maven-plugin.version>
      <spotless.action>check</spotless.action>
      <dubbo-shared-resources.version>1.0.0</dubbo-shared-resources.version>
      <palantirJavaFormat.version>2.38.0</palantirJavaFormat.version>
diff --cc 
dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/constans/RestConstant.java
index 2e15db4396,a8d5bbc174..8d7d5f73cb
--- 
a/dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/constans/RestConstant.java
+++ 
b/dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/constans/RestConstant.java
@@@ -55,12 -56,8 +57,13 @@@ public interface RestConstant 
      String MAX_REQUEST_SIZE_PARAM = "max.request.size";
      String IDLE_TIMEOUT_PARAM = "idle.timeout";
      String KEEP_ALIVE_TIMEOUT_PARAM = "keep.alive.timeout";
+     String DEFAULT_CHARSET = "UTF-8";
  
 +    String JSON_CHECK_LEVEL = "jsonCheckLevel";
 +    String JSON_CHECK_LEVEL_DISABLED = "disabled";
 +    String JSON_CHECK_LEVEL_WARN = "warn";
 +    String JSON_CHECK_LEVEL_STRICT = "strict";
 +
      int MAX_REQUEST_SIZE = 1024 * 1024 * 10;
      int MAX_INITIAL_LINE_LENGTH = 4096;
      int MAX_HEADER_SIZE = 8192;
diff --cc pom.xml
index ec294592f6,caf0ac268a..4c4becbc1f
--- a/pom.xml
+++ b/pom.xml
@@@ -110,28 -117,33 +110,28 @@@
    </issueManagement>
  
    <properties>
 -    <!-- Test libs -->
 -    <junit_jupiter_version>5.9.3</junit_jupiter_version>
 -    <awaitility_version>4.2.0</awaitility_version>
 -    <hazelcast_version>3.12.13</hazelcast_version>
 -    <hamcrest_version>2.2</hamcrest_version>
 -    <hibernate_validator_version>5.2.4.Final</hibernate_validator_version>
 -    <el_api_version>2.2.5</el_api_version>
 -    <jaxb_api_version>2.2.7</jaxb_api_version>
 -    <cglib_version>2.2.2</cglib_version>
 -    <mockito_version>4.11.0</mockito_version>
      <!-- Build args -->
 -    <argline>-server -Xms256m -Xmx512m -Dfile.encoding=UTF-8
 -            -Djava.net.preferIPv4Stack=true -XX:MetaspaceSize=64m 
-XX:MaxMetaspaceSize=128m</argline>
 -    <skip_maven_deploy>false</skip_maven_deploy>
 -    <updateReleaseInfo>true</updateReleaseInfo>
 -    
<project.build.sourceEncoding>${file_encoding}</project.build.sourceEncoding>
 +    <maven.compiler.source>1.8</maven.compiler.source>
 +    <maven.compiler.target>1.8</maven.compiler.target>
 +    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 +    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      
<project.build.outputTimestamp>2020-04-01T08:04:00Z</project.build.outputTimestamp>
 -
 +    <argline>-server -Xms256m -Xmx512m -XX:MetaspaceSize=64m 
-XX:MaxMetaspaceSize=128m -Dfile.encoding=UTF-8
 +            -Djava.net.preferIPv4Stack=true</argline>
 +    <arguments />
 +    <jacocoArgLine />
      <profile.name>oss</profile.name>
 -    <!-- for maven compiler plugin -->
 -    <java_source_version>1.8</java_source_version>
 -    <java_target_version>1.8</java_target_version>
 -    <file_encoding>UTF-8</file_encoding>
 +    <updateReleaseInfo>true</updateReleaseInfo>
 +    <skip_maven_deploy>false</skip_maven_deploy>
 +    <checkstyle.skip>true</checkstyle.skip>
 +    <checkstyle_unix.skip>true</checkstyle_unix.skip>
 +    <rat.skip>true</rat.skip>
 +    <jacoco.skip>true</jacoco.skip>
 +
      <!-- Maven plugins -->
      <maven_jar_version>3.3.0</maven_jar_version>
-     <maven_surefire_version>3.2.3</maven_surefire_version>
-     <maven_failsafe_version>3.2.3</maven_failsafe_version>
+     <maven_surefire_version>3.2.5</maven_surefire_version>
+     <maven_failsafe_version>3.2.5</maven_failsafe_version>
      <maven_deploy_version>2.8.2</maven_deploy_version>
      <maven_compiler_version>3.12.1</maven_compiler_version>
      <maven_source_version>3.3.0</maven_source_version>
@@@ -144,10 -156,16 +144,10 @@@
      <maven_antrun_version>3.1.0</maven_antrun_version>
      <maven_os_plugin_version>1.7.1</maven_os_plugin_version>
      <maven_protobuf_plugin_version>0.6.1</maven_protobuf_plugin_version>
 -    <arguments />
 -    <checkstyle.skip>true</checkstyle.skip>
 -    <checkstyle_unix.skip>true</checkstyle_unix.skip>
 -    <rat.skip>true</rat.skip>
 -    <jacoco.skip>true</jacoco.skip>
  
 -    <jprotoc_version>1.2.2</jprotoc_version>
 -    <protobuf-java_version>3.22.3</protobuf-java_version>
 +    <protobuf-protoc_version>3.22.3</protobuf-protoc_version>
      <grpc_version>1.54.0</grpc_version>
-     <spotless-maven-plugin.version>2.41.1</spotless-maven-plugin.version>
+     <spotless-maven-plugin.version>2.42.0</spotless-maven-plugin.version>
      <spotless.action>check</spotless.action>
      <dubbo-shared-resources.version>1.0.0</dubbo-shared-resources.version>
      <palantirJavaFormat.version>2.38.0</palantirJavaFormat.version>

Reply via email to