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>
