This is an automated email from the ASF dual-hosted git repository. wangxin pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/dubbo.git
commit 153a67b7161308a9737198d8611fe2e5d7920828 Merge: 6bdea3fe0f 149d1f68e5 Author: Xin Wang <xin.victorw...@gmail.com> AuthorDate: Thu Jun 10 11:49:31 2021 +0800 Merge remote-tracking branch 'dubbo_rem/master' NOTICE | 8 - PULL_REQUEST_TEMPLATE.md | 7 +- dubbo-all/pom.xml | 24 +- dubbo-bom/pom.xml | 33 +++ .../org/apache/dubbo/rpc/cluster/Constants.java | 1 + .../{support => }/ProviderURLMergeProcessor.java | 18 +- .../cluster/configurator/AbstractConfigurator.java | 44 +-- .../ConsumerContextClusterInterceptor.java | 5 +- .../interceptor/ZoneAwareClusterInterceptor.java | 7 +- .../dubbo/rpc/cluster/support/ClusterUtils.java | 116 +------- .../dubbo/rpc/cluster/support/FailbackCluster.java | 2 +- .../dubbo/rpc/cluster/support/FailfastCluster.java | 2 +- .../dubbo/rpc/cluster/support/FailoverCluster.java | 2 +- .../cluster/support/FailoverClusterInvoker.java | 20 +- .../dubbo/rpc/cluster/support/FailsafeCluster.java | 2 +- .../dubbo/rpc/cluster/support/ForkingCluster.java | 2 +- .../DefaultProviderURLMergeProcessor.java} | 270 ++++++++--------- .../cluster/support/registry/ZoneAwareCluster.java | 2 +- .../support/registry/ZoneAwareClusterInvoker.java | 6 +- ...che.dubbo.rpc.cluster.ProviderURLMergeProcessor | 1 + .../ConsumerContextClusterInterceptorTest.java | 107 +++++++ .../ZoneAwareClusterInterceptorTest.java | 97 ++++++ .../rpc/cluster/support/ClusterUtilsTest.java | 4 + .../support/FailoverClusterInvokerTest.java | 28 ++ .../internal/org.apache.dubbo.rpc.ZoneDetector | 1 + .../cluster/router/file/availablerule.javascript | 17 +- .../rpc/cluster/router/file/methodrule.javascript | 17 +- .../router/file/notAvailablerule.javascript | 17 +- .../apache/dubbo/common/BaseServiceMetadata.java | 13 +- .../src/main/java/org/apache/dubbo/common/URL.java | 12 +- .../dubbo/common/bytecode/ClassGenerator.java | 2 +- .../common/bytecode/CustomizedLoaderClassPath.java | 10 +- .../org/apache/dubbo/common/compiler/Compiler.java | 3 +- .../common/compiler/support/JavassistCompiler.java | 2 + .../dubbo/common/compiler/support/JdkCompiler.java | 2 + .../dubbo/common/config/ConfigurationUtils.java | 4 +- .../dubbo/common/constants/CommonConstants.java | 13 + .../dubbo/common/extension/ExtensionLoader.java | 87 ++++-- .../apache/dubbo/common/threadpool/ThreadPool.java | 3 +- .../manager/DefaultExecutorRepository.java | 5 +- .../support/cached/CachedThreadPool.java | 2 + .../threadpool/support/eager/EagerThreadPool.java | 2 + .../threadpool/support/fixed/FixedThreadPool.java | 2 + .../support/limited/LimitedThreadPool.java | 2 + .../dubbo/common/utils/CharSequenceComparator.java | 2 +- .../org/apache/dubbo/common/utils/LFUCache.java | 214 +++++++++++--- .../org/apache/dubbo/common/utils/LRUCache.java | 46 ++- .../dubbo/common/utils/MethodComparator.java | 2 +- .../org/apache/dubbo/common/utils/NetUtils.java | 65 ++-- .../org/apache/dubbo/common/utils/UrlUtils.java | 2 +- .../apache/dubbo/config/ConfigCenterConfig.java | 4 + .../java/org/apache/dubbo/config/Constants.java | 12 +- .../org/apache/dubbo/config/ConsumerConfig.java | 19 ++ .../org/apache/dubbo/config/ProtocolConfig.java | 4 +- .../org/apache/dubbo/config/ProviderConfig.java | 2 +- .../org/apache/dubbo/config/RegistryConfig.java | 8 +- .../java/org/apache/dubbo/config/SslConfig.java | 29 ++ .../apache/dubbo/config/context/ConfigManager.java | 24 +- .../dubbo/common/BaseServiceMetadataTest.java | 6 +- .../test/java/org/apache/dubbo/common/URLTest.java | 98 ++++++ .../common/compiler/support/JavaCodeTest.java | 2 +- .../config/EnvironmentConfigurationTest.java | 2 +- .../common/extension/ExtensionLoaderTest.java | 158 ++++++++-- .../duplicated/DuplicatedOverriddenExt.java | 13 +- .../duplicated/DuplicatedWithoutOverriddenExt.java | 14 +- .../duplicated/impl/DuplicatedOverriddenExt1.java | 16 +- .../duplicated/impl/DuplicatedOverriddenExt2.java | 16 +- .../impl/DuplicatedWithoutOverriddenExt1.java | 16 +- .../impl/DuplicatedWithoutOverriddenExt2.java | 16 +- .../dubbo/common/infra/InfraAdapterTest.java | 67 +++++ .../concurrent/ScheduledCompletableFutureTest.java | 53 ++++ .../threadpool/manager/ExecutorRepositoryTest.java | 58 ++++ .../apache/dubbo/common/utils/ConfigUtilsTest.java | 8 +- .../org/apache/dubbo/common/utils/JVMUtilTest.java | 10 + .../apache/dubbo/common/utils/LFUCacheTest.java | 30 ++ .../apache/dubbo/common/utils/LRUCacheTest.java | 10 + .../apache/dubbo/common/utils/NetUtilsTest.java | 78 ++++- .../apache/dubbo/common/utils/PathUtilsTest.java | 46 +++ .../utils/ServiceAnnotationResolverTest.java | 59 ++++ ...on.extension.duplicated.DuplicatedOverriddenExt | 1 + ...nsion.duplicated.DuplicatedWithoutOverriddenExt | 1 + ...on.extension.duplicated.DuplicatedOverriddenExt | 1 + ...nsion.duplicated.DuplicatedWithoutOverriddenExt | 1 + dubbo-compatible/pom.xml | 20 ++ dubbo-config/dubbo-config-api/pom.xml | 2 + .../org/apache/dubbo/config/ReferenceConfig.java | 5 + .../org/apache/dubbo/config/ServiceConfig.java | 13 +- .../dubbo/config/bootstrap/DubboBootstrap.java | 34 ++- .../config/bootstrap/builders/ConsumerBuilder.java | 13 + .../dubbo/config/utils/ConfigValidationUtils.java | 30 +- .../dubbo/config/utils/ReferenceConfigCache.java | 12 +- .../apache/dubbo/config/RegistryConfigTest.java | 27 ++ .../org/apache/dubbo/config/SslConfigTest.java | 142 +++++++++ .../dubbo/config/bootstrap/DubboBootstrapTest.java | 34 ++- .../org/apache/dubbo/config/cache/CacheTest.java | 2 + .../annotation/DubboConfigAliasPostProcessor.java | 2 +- .../annotation/ServiceClassPostProcessor.java | 14 +- .../src/main/resources/META-INF/compat/dubbo.xsd | 25 ++ .../src/main/resources/META-INF/dubbo.xsd | 5 + .../lazyinit/DefaultLazyInitConsumer.java} | 27 +- .../consumer/lazyinit/DefaultLazyInitService.java | 22 +- .../lazyinit/DefaultNotLazyInitService.java | 21 +- .../consumer/lazyinit/LazyInitConsumer.java | 11 +- .../consumer/lazyinit/LazyInitService.java | 10 +- .../consumer/lazyinit/NotLazyInitService.java | 10 +- .../config/spring/api/LazyInitHelloService.java | 10 +- .../annotation/LazyInitDubboAnnotationTest.java | 134 +++++++++ .../ServiceAnnotationBeanPostProcessorTest.java | 13 +- .../annotation/ServiceClassPostProcessorTest.java | 41 ++- .../annotation/provider/DefaultHelloService.java | 2 +- ...rvice.java => DefaultLazyInitHelloService.java} | 14 +- .../spring/impl/DemoServiceXMLLazyInitImpl1.java | 60 ++++ .../spring/impl/DemoServiceXMLLazyInitImpl2.java | 60 ++++ .../spring/impl/DemoServiceXMLNotLazyInitImpl.java | 60 ++++ .../spring/schema/DubboNamespaceHandlerTest.java | 49 +++ .../config/spring/demo-provider-lazy-init.xml | 25 +- .../config/spring/demo-provider-not-lazy-init.xml | 23 +- .../apollo/ApolloDynamicConfigurationTest.java | 48 +++ .../support/nacos/NacosConfigServiceWrapper.java | 10 +- .../support/nacos/NacosDynamicConfiguration.java | 24 +- .../support/zookeeper/CacheListener.java | 4 + .../zookeeper/ZookeeperDynamicConfiguration.java | 10 +- .../ZookeeperDynamicConfigurationTest.java | 84 ++++-- .../dubbo-demo-xml/dubbo-demo-xml-consumer/pom.xml | 8 + .../dubbo-demo-xml/dubbo-demo-xml-provider/pom.xml | 8 + .../src/main/resources/spring/dubbo-provider.xml | 2 + dubbo-dependencies-bom/pom.xml | 9 +- .../java/org/apache/dubbo/cache/CacheFactory.java | 7 +- .../support/expiring/ExpiringCacheFactory.java | 2 + .../dubbo/cache/support/jcache/JCacheFactory.java | 2 + .../dubbo/cache/support/lfu/LfuCacheFactory.java | 2 + .../dubbo/cache/support/lru/LruCacheFactory.java | 2 + .../apache/dubbo/cache/filter/CacheFilterTest.java | 4 + .../DynamicConfigurationServiceNameMapping.java | 10 +- .../apache/dubbo/metadata/ServiceNameMapping.java | 2 +- .../report/support/AbstractMetadataReport.java | 2 +- .../rest/AbstractServiceRestMetadataResolver.java | 4 +- .../util/ExecutableElementComparator.java | 2 +- .../metadata/store/redis/RedisMetadataReport.java | 6 +- .../store/redis/RedisMetadataReportTest.java | 26 +- .../monitor/support/AbstractMonitorFactory.java | 44 +-- .../monitor/dubbo/DubboMonitorFactoryTest.java | 17 +- .../dubbo/monitor/dubbo/MetricsFilterTest.java | 56 +++- .../dubbo/qos/command/DefaultCommandExecutor.java | 6 +- .../org/apache/dubbo/qos/command/impl/Help.java | 11 +- .../dubbo/qos/command/impl/PublishMetadata.java | 2 +- .../org/apache/dubbo/qos/command/impl/Ready.java | 5 +- .../dubbo/qos/legacy/InvokeTelnetHandler.java | 99 ++++--- .../java/org/apache/dubbo/qos/server/Server.java | 11 +- .../qos/server/handler/HttpProcessHandler.java | 28 +- .../qos/command/impl/PublishMetadataTest.java | 52 ++++ .../apache/dubbo/qos/command/impl/VersionTest.java | 20 +- .../dubbo/qos/command/support/DemoService.java | 8 +- .../qos/command/support/impl/DemoServiceImpl.java | 11 +- .../dubbo/qos/legacy/CountTelnetHandlerTest.java | 109 +++++++ .../dubbo/qos/legacy/TraceTelnetHandlerTest.java | 81 +++++ .../dubbo/qos/legacy/channel/MockChannel.java | 145 +++++++++ dubbo-registry/dubbo-registry-api/pom.xml | 15 - .../metadata/MetadataServiceNameMapping.java | 12 +- .../metadata/ProtocolPortsMetadataCustomizer.java | 2 - .../ServiceInstanceMetadataCustomizer.java | 5 +- .../client/migration/MigrationInvoker.java | 2 +- .../InterfaceCompatibleRegistryProtocol.java | 2 +- .../registry/integration/RegistryDirectory.java | 48 +-- .../registry/integration/RegistryProtocol.java | 13 +- .../dubbo/registry/support/AbstractRegistry.java | 2 +- .../dubbo/registry/consul/ConsulRegistryTest.java | 2 + .../apache/dubbo/registry/etcd/EtcdRegistry.java | 10 +- .../dubbo/registry/etcd/EtcdServiceDiscovery.java | 2 +- .../dubbo/registry/multiple/MultipleRegistry.java | 2 +- .../multiple/MultipleRegistryServiceDiscovery.java | 23 +- .../multiple/MultipleRegistry2S2RTest.java | 34 ++- .../apache/dubbo/registry/nacos/NacosRegistry.java | 41 ++- .../dubbo/registry/nacos/NacosServiceName.java | 14 +- .../dubbo/registry/nacos/NacosRegistryTest.java | 327 +++++++++++++++++++++ .../apache/dubbo/registry/redis/RedisRegistry.java | 2 +- .../dubbo/registry/redis/RedisRegistryTest.java | 18 +- .../registry/zookeeper/ZookeeperRegistry.java | 8 +- .../zookeeper/ZookeeperServiceDiscovery.java | 19 +- .../ZookeeperServiceDiscoveryChangeWatcher.java | 3 +- .../ZookeeperServiceDiscoveryFactoryTest.java | 19 +- .../zookeeper/ZookeeperServiceDiscoveryTest.java | 204 +++++++------ .../org/apache/dubbo/remoting/RemotingServer.java | 3 +- .../exchange/support/ExchangeServerDelegate.java | 3 +- .../support/header/HeaderExchangeServer.java | 8 +- .../telnet/support/command/ClearTelnetHandler.java | 4 +- .../telnet/support/command/HelpTelnetHandler.java | 66 +++-- .../dubbo/remoting/transport/AbstractEndpoint.java | 3 +- .../remoting/transport/MultiMessageHandler.java | 13 +- .../dubbo/remoting/transport/ServerDelegate.java | 3 +- .../dispatcher/all2/AllChannelHandler2.java | 74 +++++ .../transport/dispatcher/all2/AllDispatcher2.java | 17 +- .../internal/org.apache.dubbo.remoting.Dispatcher | 1 + .../remoting/transport/netty/ThreadNameTest.java | 5 +- dubbo-remoting/dubbo-remoting-netty4/pom.xml | 5 + .../transport/netty4/NettyCodecAdapter.java | 2 +- .../remoting/transport/netty4/NettyServer.java | 4 +- .../remoting/transport/netty4/SslContexts.java | 13 + .../transport/netty4/RpcMessageHandler.java | 2 +- .../remoting/transport/netty4/SslContextsTest.java | 83 ++++++ .../java/org/apache/dubbo/rpc/RpcInvocation.java | 1 - .../org/apache/dubbo/rpc/TimeoutCountDown.java | 2 +- .../apache/dubbo/rpc/filter/AccessLogFilter.java | 44 +-- .../org/apache/dubbo/rpc/support/MockInvoker.java | 15 +- .../org/apache/dubbo/rpc/support/RpcUtils.java | 19 +- .../dubbo/rpc/filter/AccessLogFilterTest.java | 5 +- .../dubbo/rpc/listener/InvokerListenerTest.java | 31 +- .../dubbo/rpc/listener/MapInvokerListener.java | 83 +++--- .../org/apache/dubbo/rpc/support/RpcUtilsTest.java | 133 +++++++-- .../internal/org.apache.dubbo.rpc.InvokerListener | 1 + .../dubbo/rpc/protocol/dubbo/DubboProtocol.java | 58 ++-- .../protocol/dubbo/LazyConnectExchangeClient.java | 2 +- .../dubbo/ReferenceCountExchangeClient.java | 2 +- .../protocol/dubbo/DubboInvokerAvailableTest.java | 2 +- .../rpc/protocol/dubbo/DubboProtocolTest.java | 8 + .../rpc/protocol/dubbo/filter/MockChannel.java | 243 ++++++++------- .../rpc/protocol/dubbo/filter/TraceFilterTest.java | 137 +++++++++ .../dubbo/status/ServerStatusCheckerTest.java | 65 ++++ .../dubbo/status/ThreadPoolStatusCheckerTest.java | 84 ++++++ .../dubbo/rpc/protocol/grpc/GrpcProtocol.java | 2 +- .../rpc/protocol/injvm/InjvmProtocolTest.java | 4 - .../dubbo/rpc/protocol/injvm/ProtocolTest.java | 4 - .../src/test/idls/DemoService.thrift | 16 + .../src/test/idls/UserService.thrift | 16 + .../rpc/protocol/redis/RedisProtocolTest.java | 23 +- .../src/test/thrift/ClassNameTestDubbo.thrift | 16 + .../src/test/thrift/ClassNameTestThrift.thrift | 16 + .../dubbo-rpc-thrift/src/test/thrift/Demo.thrift | 16 + .../webservice/WebserviceProtocolTest.java | 16 +- .../common/serialize/java/JavaObjectInput.java | 2 +- .../serialize/kryo/optimized/KryoObjectInput2.java | 7 + .../serialize/kryo/KryoSerialization2Test.java | 27 ++ pom.xml | 11 +- 233 files changed, 4990 insertions(+), 1451 deletions(-)