Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[DUBBO-2525]: Problems of graceful shutdown in 2.6.3 and some recommendation #2725

Merged
merged 4 commits into from
Nov 5, 2018
Merged

[DUBBO-2525]: Problems of graceful shutdown in 2.6.3 and some recommendation #2725

merged 4 commits into from
Nov 5, 2018

Conversation

beiwei30
Copy link
Member

@beiwei30 beiwei30 commented Nov 1, 2018

What is the purpose of the change

[DUBBO-2525]: Problems of graceful shutdown in 2.6.3 and some recommendation

Brief changelog

dubbo-all/pom.xml
dubbo-bom/pom.xml
dubbo-bootstrap/pom.xml
dubbo-bootstrap/src/main/java/org/apache/dubbo/bootstrap/DubboBootstrap.java
dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ProtocolConfig.java
dubbo-config/dubbo-config-spring/pom.xml
dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ServiceBean.java
dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/extension/SpringExtensionFactory.java
dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/initializer/DubboApplicationContextInitializer.java
dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/initializer/DubboApplicationListener.java
dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/initializer/DubboContextListener.java
dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/util/BeanFactoryUtils.java
dubbo-config/dubbo-config-spring/src/main/resources/META-INF/web-fragment.xml
dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/initializer/DubboApplicationContextInitializerTest.java
dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/initializer/DubboApplicationListenerTest.java
dubbo-container/dubbo-container-spring/pom.xml
dubbo-container/dubbo-container-spring/src/main/java/org/apache/dubbo/container/spring/SpringContainer.java
dubbo-distribution/pom.xml
pom.xml

Verifying this change

XXXXX

Follow this checklist to help us incorporate your contribution quickly and easily:

  • Make sure there is a GITHUB_issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
  • Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
  • Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
  • Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
  • Run mvn clean install -DskipTests & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
  • If this contribution is large, please follow the Software Donation Guide.

@codecov-io
Copy link

codecov-io commented Nov 1, 2018

Codecov Report

Merging #2725 into master will increase coverage by 1.2%.
The diff coverage is 68.18%.

Impacted file tree graph

@@            Coverage Diff            @@
##           master    #2725     +/-   ##
=========================================
+ Coverage   62.35%   63.56%   +1.2%     
=========================================
  Files         602      576     -26     
  Lines       27978    25923   -2055     
  Branches     4831     4540    -291     
=========================================
- Hits        17446    16477    -969     
+ Misses       8259     7285    -974     
+ Partials     2273     2161    -112
Impacted Files Coverage Δ
...n/java/org/apache/dubbo/config/ProtocolConfig.java 75.18% <ø> (+1.11%) ⬆️
...va/org/apache/dubbo/config/spring/ServiceBean.java 49.57% <100%> (+1.91%) ⬆️
...onfig/spring/extension/SpringExtensionFactory.java 84.61% <100%> (+3.36%) ⬆️
...apache/dubbo/container/spring/SpringContainer.java 70.58% <100%> (-4.42%) ⬇️
...che/dubbo/config/spring/util/BeanFactoryUtils.java 66.66% <41.66%> (-25%) ⬇️
...ache/dubbo/remoting/p2p/support/AbstractGroup.java 45.45% <0%> (-11.37%) ⬇️
...org/apache/dubbo/rpc/filter/ActiveLimitFilter.java 83.33% <0%> (-5.56%) ⬇️
...ng/exchange/support/header/HeartbeatTimerTask.java 73.68% <0%> (-5.27%) ⬇️
.../dubbo/remoting/transport/netty4/NettyChannel.java 61.17% <0%> (-4.71%) ⬇️
...ache/dubbo/remoting/transport/mina/MinaClient.java 56.92% <0%> (-1.54%) ⬇️
... and 33 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3cf801b...f023841. Read the comment docs.

@chickenlj
Copy link
Contributor

#1763
#1820
#2126

@chickenlj
Copy link
Contributor

+1 to merge this PR.

The changes about gracefully shutdown looks good, and it's much easier to use and understand than before.

For the bootstrap part, I think the initial author has some other consideration and designs that are still not realize yet, e.g., a unified bootstrap entry for API usage, a fluent builder pattern, .... but I think it's ok to remove this module at this moment since it's nearly empty after refactoring the shutdown part.

@chickenlj chickenlj merged commit 0d51bc4 into apache:master Nov 5, 2018
@beiwei30 beiwei30 deleted the spring-shutdown branch November 5, 2018 02:58
@cvictory
Copy link
Contributor

cvictory commented Nov 5, 2018 via email

beiwei30 added a commit that referenced this pull request Nov 5, 2018
* merge #2725

* fix UT failure

* remove useless test

* fix unit test failures
CrazyHZM pushed a commit to CrazyHZM/dubbo that referenced this pull request Dec 6, 2018
CrazyHZM added a commit to CrazyHZM/dubbo that referenced this pull request Dec 6, 2018
* combine test coverage report (apache#2643)

* Optimize ut for serialization model. (apache#2632)

* 1. Integrate the unit test of the serialization module, code reuse.
2. Remove redundant unit tests and pojo classes.
3. Remove the useless pojo class in the common module.

* fix ci fail

* fix ci fail

* fix ci fail

* fix ci fail

* remove author info

* prototype for issue2570 (apache#2640)

* apache#2570: dubbo all in one fail to start from a tomcat server when spring framework is absent

* add comments and fix unit test

* add license header

* update comments in unit tests

* [Dubbo -fix annotation bug] Fix @reference bug (apache#2649)

It's fine.

* Merge pull request apache#2656, make sure serialization exception sends back to consumer to preventing endless waiting.

Fixes apache#1903: Our customized serialization id exceeds the maximum limit, now it cannot work on 2.6.2 anymore.

*     apache#1903: supplemental change (apache#2666)

* Optimize the doSelect method of RandomLoadBalance to reduce the times of invoke of the getWeight method of the AbstractLoadBalance (apache#2597)

* 解决与quartz集成报错问题 (apache#2677)

quartz初始化的Bean没有beanName,beanName=null,走这段代码的时候报空指针了。
org.springframework.boot.autoconfigure.quartz.AutowireCapableBeanJobFactory类的createJobInstance方法中使用this.beanFactory.initializeBean(jobInstance, null);初始化的Bean,其beanName=null。

* Code format (apache#2662)

* NullPointerException

* code rule

* Merge pull request#2679, consumer throws RpcException when RegistryDirectory notify in high QPS.

Fixes apache#2016

* remove ServiceClassHolder and use the ApplicationModel replacedly (apache#2646)

* [Dubbo] move the classes of model from config to rpc-api for reusing

* remove ServiceClassHolder and use the ApplicationModel replacedly

* [Dubbo] delete the unused imported of ApplicationModel

* Update dubbo-demo-consumer.xml

this commits is no need to commit to remote repo.

* [Dubbo-1983] Support Protobuf Serialization (apache#2618)

* finish support protobuf

* polish

* fix code review

* use the general test for serialization

* Smooth Round Robin selection (apache#2650)

* enhance pull request 2618 (apache#2691)

* enhance pull request 2618

* move spi file into the right directory

* ignore protostuff test case

* make unit test pass, support Time type

* fix useless imports issue

* add license header

* fix typo error in FAQ (apache#2684)

fix typo error in FAQ

* remove author info for RoundRobinLoadBalance (apache#2697)

* fix pom for protostuff serialization (apache#2700)

* Optimize REGISTRIES field in AbstractRegistryFactory. (apache#2703)

* modify ConcurrentHashMap to HashMap.这里REGISTRIES在使用的时候都会先加锁,不存在多线程安全的问题。所以这里建议使用hashmap

* modify ConcurrentHashMap to HashMap.这里REGISTRIES在使用的时候都会先加锁,不存在多线程安全的问题。所以这里建议使用hashmap

* [version 2.7.0]remove the StaticContext class and refactor the code related to Async (apache#2688)

* [Dubbo] move the classes of model from config to rpc-api for reusing

* remove ServiceClassHolder and use the ApplicationModel replacedly

* [Dubbo] delete the unused imported of ApplicationModel

* Update dubbo-demo-consumer.xml

this commits is no need to commit to remote repo.

* remove StaticContext

* remove the unused imported classes of ReferenceConfig

* fix NPE of ConsumerModel

* fix the failed testcase of AbstractClusterInvokerTest

* [Dubbo] #PR2688 to fix the review issues

* Optimize heartbeat and reconnect task. (apache#2658)

* Optimize heartbeat and reconnect task.
1.Use hashedWheelTimer.
2.Distinguish between reconnect and heartbeat.
3.Increase inspection cycle.

* fix ci fail.

* fix ci fail.

* fix ci fail.

* polish the code for pull request 2658: Optimize heartbeat and reconnect task (apache#2709)

* 重构 ServiceBean 的 isDelay 方法,使其更符合语义 (apache#2686)

* Refactor method isDelay of ServiceBean to fix the wrong meaning of the method

* Remove unnecessary method isDelay of ServiceBean

* 【Unit Test】FailbackRegistry Test: recover method (apache#2591)

* FailbackRegistry Test: recover method

* fix the type error, and use CountDownLatch await method to fix the unstable problom

* trigger the travis ci test retry

* trigger the code static check again

* replace ServiceAnnotationBeanPostProcessor log.isInfoEnabled->log.isWarnEnabled (apache#2712)

simplify ExtensionLoader code segment

* [Dubbo-2678][For Master] Add ability to turn off SPI auto injection, special support for Object type.  (apache#2682)

* Add ability to turn off SPI auto injection, special support for generic Object type injection.

* Change Inject to AutoInject since it's main purpose is to turn off auto-injection.

* disable is redundant in DisableInject annotation

* Merge pull request apache#2725, problems of graceful shutdown in 2.6.3 and some recommendation.

* enhance comments (apache#2735)

* code format (apache#2730)

* NullPointerException

* code rule

* code rule

* Close all servers/ports after tests finish (apache#2741)

*  Simplify the code of StringUtils to make it more graceful. (apache#2740)

* Simplify the code of StringUtils to make it more graceful.

* Add Apache license

* Add 'forks' config into xml config (apache#2568)

* Add forks into xml config.

* Add forks into xml config.

* Add forks into xml config.

* fix typo (apache#2747)

* [DUBBO-2489] MockClusterInvoker provides local forced mock,I tested it locally, but it doesn't work (apache#2742)

*     apache#2748: Provider should disable mock configuration (apache#2749)

* Fix the bug that ReferenceBean refers service more than once when debugging. (apache#2754)

note:
please visit http://t.cn/EAhta27 for more detail.

* Close all servers/ports after tests finish (apache#2755)

* add checkstyle rule to check import order (apache#2745)

* Changing URL so tests can run in any order (apache#2760)

* [Dubbo-2353]fix Invalid property 'interfaceName' of bean class [org.apache.dubbo.config.spring.ServiceBean]apache#2353 (apache#2418)

* add getter and setter for ServiceConfig's interfaceName property#2353

* add interfaceName to ignoreAttributeNames and change the unit test

* delete the demo source code and update the unit test

* unchange ServiceConfig

* update unit test

* update unit test

*     apache#2762: [Dubbo - qos-http] stopServer should be invoked ? (apache#2767)

*     apache#2777: heartbeat threads blocks process shutdown (apache#2778)

Fix heartbeat threads blocks process shutdown because its hashed-wheel-timer is non-daemon thread.

* oschina vote (apache#2786)

* fix typo (apache#2791)

Fix typo confilict -> conflict

* improvement on Parameters and CollectionUtils (apache#2790)

Use CollectionUtils.toStringMap to reduce duplicate code in Parameters, and use Java 8 type inference for collections.

* [REFACTOR]:[fix typo] (apache#2804)

fix typos

* [Dubbo-2798]fix apporiate NotWritablePropertyException (apache#2800)

fix apache#2798 .
'propertyname in java donot contain '-' but camel format'.

* [Dubbo-2758] Adding dependency on dubbo-remoting-mina for tests in dubbo-rpc-dubbo (apache#2797)

* Adding dependency on dubbo-remoting-mina so DubboProtocolTest.testDubboProtocolWithMina is no longer flaky

* Changing port number to ensure new server/client created for test

* modify dubbo version to 2.6.5

* fix typo of field (apache#2825)

* [Dubbo-2845] Fix OOM in UT testSelectByWeight (apache#2845) (apache#2846)

Fix OOM Exception generated during UT

* Fix UT failed on windows with FileNetworkerTest (apache#2848)

Fix FileNetworkerTest failure

* Update README.md

remove oschina vote

* fixed typo of variable (apache#2875)

fixed type of variable

* Remove unnessesary code  in RegistryDirectory#doList (apache#2861)

* remove unnessesary code

* remove unused import

* add some ScriptRoute test case (apache#2879)

* add router test case

* correct an error word

* remove the duplicate superclass of TagRouter and ConditionRouter (apache#2885)

Remove the class ConditionRouter and TagRouter implement duplicate superclass Comparable
CrazyHZM added a commit to CrazyHZM/dubbo that referenced this pull request Dec 6, 2018
* combine test coverage report (apache#2643)

* Optimize ut for serialization model. (apache#2632)

* 1. Integrate the unit test of the serialization module, code reuse.
2. Remove redundant unit tests and pojo classes.
3. Remove the useless pojo class in the common module.

* fix ci fail

* fix ci fail

* fix ci fail

* fix ci fail

* remove author info

* prototype for issue2570 (apache#2640)

* apache#2570: dubbo all in one fail to start from a tomcat server when spring framework is absent

* add comments and fix unit test

* add license header

* update comments in unit tests

* [Dubbo -fix annotation bug] Fix @reference bug (apache#2649)

It's fine.

* Merge pull request apache#2656, make sure serialization exception sends back to consumer to preventing endless waiting.

Fixes apache#1903: Our customized serialization id exceeds the maximum limit, now it cannot work on 2.6.2 anymore.

*     apache#1903: supplemental change (apache#2666)

* Optimize the doSelect method of RandomLoadBalance to reduce the times of invoke of the getWeight method of the AbstractLoadBalance (apache#2597)

* 解决与quartz集成报错问题 (apache#2677)

quartz初始化的Bean没有beanName,beanName=null,走这段代码的时候报空指针了。
org.springframework.boot.autoconfigure.quartz.AutowireCapableBeanJobFactory类的createJobInstance方法中使用this.beanFactory.initializeBean(jobInstance, null);初始化的Bean,其beanName=null。

* Code format (apache#2662)

* NullPointerException

* code rule

* Merge pull request#2679, consumer throws RpcException when RegistryDirectory notify in high QPS.

Fixes apache#2016

* remove ServiceClassHolder and use the ApplicationModel replacedly (apache#2646)

* [Dubbo] move the classes of model from config to rpc-api for reusing

* remove ServiceClassHolder and use the ApplicationModel replacedly

* [Dubbo] delete the unused imported of ApplicationModel

* Update dubbo-demo-consumer.xml

this commits is no need to commit to remote repo.

* [Dubbo-1983] Support Protobuf Serialization (apache#2618)

* finish support protobuf

* polish

* fix code review

* use the general test for serialization

* Smooth Round Robin selection (apache#2650)

* enhance pull request 2618 (apache#2691)

* enhance pull request 2618

* move spi file into the right directory

* ignore protostuff test case

* make unit test pass, support Time type

* fix useless imports issue

* add license header

* fix typo error in FAQ (apache#2684)

fix typo error in FAQ

* remove author info for RoundRobinLoadBalance (apache#2697)

* fix pom for protostuff serialization (apache#2700)

* Optimize REGISTRIES field in AbstractRegistryFactory. (apache#2703)

* modify ConcurrentHashMap to HashMap.这里REGISTRIES在使用的时候都会先加锁,不存在多线程安全的问题。所以这里建议使用hashmap

* modify ConcurrentHashMap to HashMap.这里REGISTRIES在使用的时候都会先加锁,不存在多线程安全的问题。所以这里建议使用hashmap

* [version 2.7.0]remove the StaticContext class and refactor the code related to Async (apache#2688)

* [Dubbo] move the classes of model from config to rpc-api for reusing

* remove ServiceClassHolder and use the ApplicationModel replacedly

* [Dubbo] delete the unused imported of ApplicationModel

* Update dubbo-demo-consumer.xml

this commits is no need to commit to remote repo.

* remove StaticContext

* remove the unused imported classes of ReferenceConfig

* fix NPE of ConsumerModel

* fix the failed testcase of AbstractClusterInvokerTest

* [Dubbo] #PR2688 to fix the review issues

* Optimize heartbeat and reconnect task. (apache#2658)

* Optimize heartbeat and reconnect task.
1.Use hashedWheelTimer.
2.Distinguish between reconnect and heartbeat.
3.Increase inspection cycle.

* fix ci fail.

* fix ci fail.

* fix ci fail.

* polish the code for pull request 2658: Optimize heartbeat and reconnect task (apache#2709)

* 重构 ServiceBean 的 isDelay 方法,使其更符合语义 (apache#2686)

* Refactor method isDelay of ServiceBean to fix the wrong meaning of the method

* Remove unnecessary method isDelay of ServiceBean

* 【Unit Test】FailbackRegistry Test: recover method (apache#2591)

* FailbackRegistry Test: recover method

* fix the type error, and use CountDownLatch await method to fix the unstable problom

* trigger the travis ci test retry

* trigger the code static check again

* replace ServiceAnnotationBeanPostProcessor log.isInfoEnabled->log.isWarnEnabled (apache#2712)

simplify ExtensionLoader code segment

* [Dubbo-2678][For Master] Add ability to turn off SPI auto injection, special support for Object type.  (apache#2682)

* Add ability to turn off SPI auto injection, special support for generic Object type injection.

* Change Inject to AutoInject since it's main purpose is to turn off auto-injection.

* disable is redundant in DisableInject annotation

* Merge pull request apache#2725, problems of graceful shutdown in 2.6.3 and some recommendation.

* enhance comments (apache#2735)

* code format (apache#2730)

* NullPointerException

* code rule

* code rule

* Close all servers/ports after tests finish (apache#2741)

*  Simplify the code of StringUtils to make it more graceful. (apache#2740)

* Simplify the code of StringUtils to make it more graceful.

* Add Apache license

* Add 'forks' config into xml config (apache#2568)

* Add forks into xml config.

* Add forks into xml config.

* Add forks into xml config.

* fix typo (apache#2747)

* [DUBBO-2489] MockClusterInvoker provides local forced mock,I tested it locally, but it doesn't work (apache#2742)

*     apache#2748: Provider should disable mock configuration (apache#2749)

* Fix the bug that ReferenceBean refers service more than once when debugging. (apache#2754)

note:
please visit http://t.cn/EAhta27 for more detail.

* Close all servers/ports after tests finish (apache#2755)

* add checkstyle rule to check import order (apache#2745)

* Changing URL so tests can run in any order (apache#2760)

* [Dubbo-2353]fix Invalid property 'interfaceName' of bean class [org.apache.dubbo.config.spring.ServiceBean]apache#2353 (apache#2418)

* add getter and setter for ServiceConfig's interfaceName property#2353

* add interfaceName to ignoreAttributeNames and change the unit test

* delete the demo source code and update the unit test

* unchange ServiceConfig

* update unit test

* update unit test

*     apache#2762: [Dubbo - qos-http] stopServer should be invoked ? (apache#2767)

*     apache#2777: heartbeat threads blocks process shutdown (apache#2778)

Fix heartbeat threads blocks process shutdown because its hashed-wheel-timer is non-daemon thread.

* oschina vote (apache#2786)

* fix typo (apache#2791)

Fix typo confilict -> conflict

* improvement on Parameters and CollectionUtils (apache#2790)

Use CollectionUtils.toStringMap to reduce duplicate code in Parameters, and use Java 8 type inference for collections.

* [REFACTOR]:[fix typo] (apache#2804)

fix typos

* [Dubbo-2798]fix apporiate NotWritablePropertyException (apache#2800)

fix apache#2798 .
'propertyname in java donot contain '-' but camel format'.

* [Dubbo-2758] Adding dependency on dubbo-remoting-mina for tests in dubbo-rpc-dubbo (apache#2797)

* Adding dependency on dubbo-remoting-mina so DubboProtocolTest.testDubboProtocolWithMina is no longer flaky

* Changing port number to ensure new server/client created for test

* modify dubbo version to 2.6.5

* fix typo of field (apache#2825)

* [Dubbo-2845] Fix OOM in UT testSelectByWeight (apache#2845) (apache#2846)

Fix OOM Exception generated during UT

* Fix UT failed on windows with FileNetworkerTest (apache#2848)

Fix FileNetworkerTest failure

* Update README.md

remove oschina vote

* fixed typo of variable (apache#2875)

fixed type of variable

* Remove unnessesary code  in RegistryDirectory#doList (apache#2861)

* remove unnessesary code

* remove unused import

* add some ScriptRoute test case (apache#2879)

* add router test case

* correct an error word

* remove the duplicate superclass of TagRouter and ConditionRouter (apache#2885)

Remove the class ConditionRouter and TagRouter implement duplicate superclass Comparable
CrazyHZM added a commit to CrazyHZM/dubbo that referenced this pull request Dec 6, 2018
* combine test coverage report (apache#2643)

* Optimize ut for serialization model. (apache#2632)

* 1. Integrate the unit test of the serialization module, code reuse.
2. Remove redundant unit tests and pojo classes.
3. Remove the useless pojo class in the common module.

* fix ci fail

* fix ci fail

* fix ci fail

* fix ci fail

* remove author info

* prototype for issue2570 (apache#2640)

* apache#2570: dubbo all in one fail to start from a tomcat server when spring framework is absent

* add comments and fix unit test

* add license header

* update comments in unit tests

* [Dubbo -fix annotation bug] Fix @reference bug (apache#2649)

It's fine.

* Merge pull request apache#2656, make sure serialization exception sends back to consumer to preventing endless waiting.

Fixes apache#1903: Our customized serialization id exceeds the maximum limit, now it cannot work on 2.6.2 anymore.

*     apache#1903: supplemental change (apache#2666)

* Optimize the doSelect method of RandomLoadBalance to reduce the times of invoke of the getWeight method of the AbstractLoadBalance (apache#2597)

* 解决与quartz集成报错问题 (apache#2677)

quartz初始化的Bean没有beanName,beanName=null,走这段代码的时候报空指针了。
org.springframework.boot.autoconfigure.quartz.AutowireCapableBeanJobFactory类的createJobInstance方法中使用this.beanFactory.initializeBean(jobInstance, null);初始化的Bean,其beanName=null。

* Code format (apache#2662)

* NullPointerException

* code rule

* Merge pull request#2679, consumer throws RpcException when RegistryDirectory notify in high QPS.

Fixes apache#2016

* remove ServiceClassHolder and use the ApplicationModel replacedly (apache#2646)

* [Dubbo] move the classes of model from config to rpc-api for reusing

* remove ServiceClassHolder and use the ApplicationModel replacedly

* [Dubbo] delete the unused imported of ApplicationModel

* Update dubbo-demo-consumer.xml

this commits is no need to commit to remote repo.

* [Dubbo-1983] Support Protobuf Serialization (apache#2618)

* finish support protobuf

* polish

* fix code review

* use the general test for serialization

* Smooth Round Robin selection (apache#2650)

* enhance pull request 2618 (apache#2691)

* enhance pull request 2618

* move spi file into the right directory

* ignore protostuff test case

* make unit test pass, support Time type

* fix useless imports issue

* add license header

* fix typo error in FAQ (apache#2684)

fix typo error in FAQ

* remove author info for RoundRobinLoadBalance (apache#2697)

* fix pom for protostuff serialization (apache#2700)

* Optimize REGISTRIES field in AbstractRegistryFactory. (apache#2703)

* modify ConcurrentHashMap to HashMap.这里REGISTRIES在使用的时候都会先加锁,不存在多线程安全的问题。所以这里建议使用hashmap

* modify ConcurrentHashMap to HashMap.这里REGISTRIES在使用的时候都会先加锁,不存在多线程安全的问题。所以这里建议使用hashmap

* [version 2.7.0]remove the StaticContext class and refactor the code related to Async (apache#2688)

* [Dubbo] move the classes of model from config to rpc-api for reusing

* remove ServiceClassHolder and use the ApplicationModel replacedly

* [Dubbo] delete the unused imported of ApplicationModel

* Update dubbo-demo-consumer.xml

this commits is no need to commit to remote repo.

* remove StaticContext

* remove the unused imported classes of ReferenceConfig

* fix NPE of ConsumerModel

* fix the failed testcase of AbstractClusterInvokerTest

* [Dubbo] #PR2688 to fix the review issues

* Optimize heartbeat and reconnect task. (apache#2658)

* Optimize heartbeat and reconnect task.
1.Use hashedWheelTimer.
2.Distinguish between reconnect and heartbeat.
3.Increase inspection cycle.

* fix ci fail.

* fix ci fail.

* fix ci fail.

* polish the code for pull request 2658: Optimize heartbeat and reconnect task (apache#2709)

* 重构 ServiceBean 的 isDelay 方法,使其更符合语义 (apache#2686)

* Refactor method isDelay of ServiceBean to fix the wrong meaning of the method

* Remove unnecessary method isDelay of ServiceBean

* 【Unit Test】FailbackRegistry Test: recover method (apache#2591)

* FailbackRegistry Test: recover method

* fix the type error, and use CountDownLatch await method to fix the unstable problom

* trigger the travis ci test retry

* trigger the code static check again

* replace ServiceAnnotationBeanPostProcessor log.isInfoEnabled->log.isWarnEnabled (apache#2712)

simplify ExtensionLoader code segment

* [Dubbo-2678][For Master] Add ability to turn off SPI auto injection, special support for Object type.  (apache#2682)

* Add ability to turn off SPI auto injection, special support for generic Object type injection.

* Change Inject to AutoInject since it's main purpose is to turn off auto-injection.

* disable is redundant in DisableInject annotation

* Merge pull request apache#2725, problems of graceful shutdown in 2.6.3 and some recommendation.

* enhance comments (apache#2735)

* code format (apache#2730)

* NullPointerException

* code rule

* code rule

* Close all servers/ports after tests finish (apache#2741)

*  Simplify the code of StringUtils to make it more graceful. (apache#2740)

* Simplify the code of StringUtils to make it more graceful.

* Add Apache license

* Add 'forks' config into xml config (apache#2568)

* Add forks into xml config.

* Add forks into xml config.

* Add forks into xml config.

* fix typo (apache#2747)

* [DUBBO-2489] MockClusterInvoker provides local forced mock,I tested it locally, but it doesn't work (apache#2742)

*     apache#2748: Provider should disable mock configuration (apache#2749)

* Fix the bug that ReferenceBean refers service more than once when debugging. (apache#2754)

note:
please visit http://t.cn/EAhta27 for more detail.

* Close all servers/ports after tests finish (apache#2755)

* add checkstyle rule to check import order (apache#2745)

* Changing URL so tests can run in any order (apache#2760)

* [Dubbo-2353]fix Invalid property 'interfaceName' of bean class [org.apache.dubbo.config.spring.ServiceBean]apache#2353 (apache#2418)

* add getter and setter for ServiceConfig's interfaceName property#2353

* add interfaceName to ignoreAttributeNames and change the unit test

* delete the demo source code and update the unit test

* unchange ServiceConfig

* update unit test

* update unit test

*     apache#2762: [Dubbo - qos-http] stopServer should be invoked ? (apache#2767)

*     apache#2777: heartbeat threads blocks process shutdown (apache#2778)

Fix heartbeat threads blocks process shutdown because its hashed-wheel-timer is non-daemon thread.

* oschina vote (apache#2786)

* fix typo (apache#2791)

Fix typo confilict -> conflict

* improvement on Parameters and CollectionUtils (apache#2790)

Use CollectionUtils.toStringMap to reduce duplicate code in Parameters, and use Java 8 type inference for collections.

* [REFACTOR]:[fix typo] (apache#2804)

fix typos

* [Dubbo-2798]fix apporiate NotWritablePropertyException (apache#2800)

fix apache#2798 .
'propertyname in java donot contain '-' but camel format'.

* [Dubbo-2758] Adding dependency on dubbo-remoting-mina for tests in dubbo-rpc-dubbo (apache#2797)

* Adding dependency on dubbo-remoting-mina so DubboProtocolTest.testDubboProtocolWithMina is no longer flaky

* Changing port number to ensure new server/client created for test

* modify dubbo version to 2.6.5

* fix typo of field (apache#2825)

* [Dubbo-2845] Fix OOM in UT testSelectByWeight (apache#2845) (apache#2846)

Fix OOM Exception generated during UT

* Fix UT failed on windows with FileNetworkerTest (apache#2848)

Fix FileNetworkerTest failure

* Update README.md

remove oschina vote

* fixed typo of variable (apache#2875)

fixed type of variable

* Remove unnessesary code  in RegistryDirectory#doList (apache#2861)

* remove unnessesary code

* remove unused import

* add some ScriptRoute test case (apache#2879)

* add router test case

* correct an error word

* remove the duplicate superclass of TagRouter and ConditionRouter (apache#2885)

Remove the class ConditionRouter and TagRouter implement duplicate superclass Comparable
CrazyHZM pushed a commit to CrazyHZM/dubbo that referenced this pull request Dec 6, 2018
CrazyHZM added a commit to CrazyHZM/dubbo that referenced this pull request Dec 6, 2018
* combine test coverage report (apache#2643)

* Optimize ut for serialization model. (apache#2632)

* 1. Integrate the unit test of the serialization module, code reuse.
2. Remove redundant unit tests and pojo classes.
3. Remove the useless pojo class in the common module.

* fix ci fail

* fix ci fail

* fix ci fail

* fix ci fail

* remove author info

* prototype for issue2570 (apache#2640)

* apache#2570: dubbo all in one fail to start from a tomcat server when spring framework is absent

* add comments and fix unit test

* add license header

* update comments in unit tests

* [Dubbo -fix annotation bug] Fix @reference bug (apache#2649)

It's fine.

* Merge pull request apache#2656, make sure serialization exception sends back to consumer to preventing endless waiting.

Fixes apache#1903: Our customized serialization id exceeds the maximum limit, now it cannot work on 2.6.2 anymore.

*     apache#1903: supplemental change (apache#2666)

* Optimize the doSelect method of RandomLoadBalance to reduce the times of invoke of the getWeight method of the AbstractLoadBalance (apache#2597)

* 解决与quartz集成报错问题 (apache#2677)

quartz初始化的Bean没有beanName,beanName=null,走这段代码的时候报空指针了。
org.springframework.boot.autoconfigure.quartz.AutowireCapableBeanJobFactory类的createJobInstance方法中使用this.beanFactory.initializeBean(jobInstance, null);初始化的Bean,其beanName=null。

* Code format (apache#2662)

* NullPointerException

* code rule

* Merge pull request#2679, consumer throws RpcException when RegistryDirectory notify in high QPS.

Fixes apache#2016

* remove ServiceClassHolder and use the ApplicationModel replacedly (apache#2646)

* [Dubbo] move the classes of model from config to rpc-api for reusing

* remove ServiceClassHolder and use the ApplicationModel replacedly

* [Dubbo] delete the unused imported of ApplicationModel

* Update dubbo-demo-consumer.xml

this commits is no need to commit to remote repo.

* [Dubbo-1983] Support Protobuf Serialization (apache#2618)

* finish support protobuf

* polish

* fix code review

* use the general test for serialization

* Smooth Round Robin selection (apache#2650)

* enhance pull request 2618 (apache#2691)

* enhance pull request 2618

* move spi file into the right directory

* ignore protostuff test case

* make unit test pass, support Time type

* fix useless imports issue

* add license header

* fix typo error in FAQ (apache#2684)

fix typo error in FAQ

* remove author info for RoundRobinLoadBalance (apache#2697)

* fix pom for protostuff serialization (apache#2700)

* Optimize REGISTRIES field in AbstractRegistryFactory. (apache#2703)

* modify ConcurrentHashMap to HashMap.这里REGISTRIES在使用的时候都会先加锁,不存在多线程安全的问题。所以这里建议使用hashmap

* modify ConcurrentHashMap to HashMap.这里REGISTRIES在使用的时候都会先加锁,不存在多线程安全的问题。所以这里建议使用hashmap

* [version 2.7.0]remove the StaticContext class and refactor the code related to Async (apache#2688)

* [Dubbo] move the classes of model from config to rpc-api for reusing

* remove ServiceClassHolder and use the ApplicationModel replacedly

* [Dubbo] delete the unused imported of ApplicationModel

* Update dubbo-demo-consumer.xml

this commits is no need to commit to remote repo.

* remove StaticContext

* remove the unused imported classes of ReferenceConfig

* fix NPE of ConsumerModel

* fix the failed testcase of AbstractClusterInvokerTest

* [Dubbo] #PR2688 to fix the review issues

* Optimize heartbeat and reconnect task. (apache#2658)

* Optimize heartbeat and reconnect task.
1.Use hashedWheelTimer.
2.Distinguish between reconnect and heartbeat.
3.Increase inspection cycle.

* fix ci fail.

* fix ci fail.

* fix ci fail.

* polish the code for pull request 2658: Optimize heartbeat and reconnect task (apache#2709)

* 重构 ServiceBean 的 isDelay 方法,使其更符合语义 (apache#2686)

* Refactor method isDelay of ServiceBean to fix the wrong meaning of the method

* Remove unnecessary method isDelay of ServiceBean

* 【Unit Test】FailbackRegistry Test: recover method (apache#2591)

* FailbackRegistry Test: recover method

* fix the type error, and use CountDownLatch await method to fix the unstable problom

* trigger the travis ci test retry

* trigger the code static check again

* replace ServiceAnnotationBeanPostProcessor log.isInfoEnabled->log.isWarnEnabled (apache#2712)

simplify ExtensionLoader code segment

* [Dubbo-2678][For Master] Add ability to turn off SPI auto injection, special support for Object type.  (apache#2682)

* Add ability to turn off SPI auto injection, special support for generic Object type injection.

* Change Inject to AutoInject since it's main purpose is to turn off auto-injection.

* disable is redundant in DisableInject annotation

* Merge pull request apache#2725, problems of graceful shutdown in 2.6.3 and some recommendation.

* enhance comments (apache#2735)

* code format (apache#2730)

* NullPointerException

* code rule

* code rule

* Close all servers/ports after tests finish (apache#2741)

*  Simplify the code of StringUtils to make it more graceful. (apache#2740)

* Simplify the code of StringUtils to make it more graceful.

* Add Apache license

* Add 'forks' config into xml config (apache#2568)

* Add forks into xml config.

* Add forks into xml config.

* Add forks into xml config.

* fix typo (apache#2747)

* [DUBBO-2489] MockClusterInvoker provides local forced mock,I tested it locally, but it doesn't work (apache#2742)

*     apache#2748: Provider should disable mock configuration (apache#2749)

* Fix the bug that ReferenceBean refers service more than once when debugging. (apache#2754)

note:
please visit http://t.cn/EAhta27 for more detail.

* Close all servers/ports after tests finish (apache#2755)

* add checkstyle rule to check import order (apache#2745)

* Changing URL so tests can run in any order (apache#2760)

* [Dubbo-2353]fix Invalid property 'interfaceName' of bean class [org.apache.dubbo.config.spring.ServiceBean]apache#2353 (apache#2418)

* add getter and setter for ServiceConfig's interfaceName property#2353

* add interfaceName to ignoreAttributeNames and change the unit test

* delete the demo source code and update the unit test

* unchange ServiceConfig

* update unit test

* update unit test

*     apache#2762: [Dubbo - qos-http] stopServer should be invoked ? (apache#2767)

*     apache#2777: heartbeat threads blocks process shutdown (apache#2778)

Fix heartbeat threads blocks process shutdown because its hashed-wheel-timer is non-daemon thread.

* oschina vote (apache#2786)

* fix typo (apache#2791)

Fix typo confilict -> conflict

* improvement on Parameters and CollectionUtils (apache#2790)

Use CollectionUtils.toStringMap to reduce duplicate code in Parameters, and use Java 8 type inference for collections.

* [REFACTOR]:[fix typo] (apache#2804)

fix typos

* [Dubbo-2798]fix apporiate NotWritablePropertyException (apache#2800)

fix apache#2798 .
'propertyname in java donot contain '-' but camel format'.

* [Dubbo-2758] Adding dependency on dubbo-remoting-mina for tests in dubbo-rpc-dubbo (apache#2797)

* Adding dependency on dubbo-remoting-mina so DubboProtocolTest.testDubboProtocolWithMina is no longer flaky

* Changing port number to ensure new server/client created for test

* modify dubbo version to 2.6.5

* fix typo of field (apache#2825)

* [Dubbo-2845] Fix OOM in UT testSelectByWeight (apache#2845) (apache#2846)

Fix OOM Exception generated during UT

* Fix UT failed on windows with FileNetworkerTest (apache#2848)

Fix FileNetworkerTest failure

* Update README.md

remove oschina vote

* fixed typo of variable (apache#2875)

fixed type of variable

* Remove unnessesary code  in RegistryDirectory#doList (apache#2861)

* remove unnessesary code

* remove unused import

* add some ScriptRoute test case (apache#2879)

* add router test case

* correct an error word

* remove the duplicate superclass of TagRouter and ConditionRouter (apache#2885)

Remove the class ConditionRouter and TagRouter implement duplicate superclass Comparable
mercyblitz pushed a commit that referenced this pull request Sep 10, 2019
* Add pull request coverage check and set threshold as 0.1% (#1678)

* Optimize_hessian_desr_performance (#1705)

* We need to change the version to SNAPSHOT to satisfy release:prepare

* upgrade to 2.6.2-SNAPSHOT

* fixes #1089, make ExecutionDispatcher meet dubbo-user-book (#1449)

* fixes #1089, make ExecutionDispatcher meets dubbo-user-book

* remove heartbeat condition

* enhance comments, javadoc and logging message for (#1722)

ExecutionChannelHandler

* Merge pull request #1716, unit test for AbstractConfigTest.

* add test for serialization api & fastjson & fst module (#1718)

* Merge pull request #1717, NettyHelper in netty extension populated Logger "InternalLogger" in netty.

* [Dubbo-1687]Enhance test coverage for dubbo filter (#1715)

* use three different kinds of cache factory to increase test coverages

* add unit test cases for dubbo-filter module

* add copyright and made small refactor

* make sure Jcache will exceed expired period

* optimize unit test for serialization hession2/jdk/kryo (#1726)

* fix * imports issue (#1721)

*     #1731: checkMultiExtension in com.alibaba.dubbo.config.AbstractInterfaceConfig should be in setter instead of getter (#1732)

* unit test for dubbo-config-api (#1733)

* finish unit test for AbstractMethodConfig

* finish unit test for AbstractReferenceConfig

* move to right package

* finish unit test for AbstractReferenceConfig

* finish unit test for AbstractMethodConfig

* finish unit test for AbstractReferenceConfig

* move to right package

* finish unit test for AbstractReferenceConfig

* unit test for AbstractServiceConfig, also fix logic issue in setListener/getListener

* Fix isShutdown() always return true (#1426)

* Bump version to 2.6.2-SNAPSHOT.

* Fix #934 #1756 use loadBalance policy to choose invoke when providers less 2 (#1759)

* fix #934 use loadBalance policy to choose invoke when providers less than 2
* fix #1756, clear mock invocation after invoking

* Remove unnecessary null check.

* Remove redundant final modifier.

* Remove unnecessary null check.

* Remove redundant array creation.

* Remove unnecessary null check.

* Remove unnecessary null check and fix typo.

* Config api unit test (#1758)

* unit test for ApplicationConfig

* fix typo

* unit test for ArgumentConfig

* unit test for ConsumerConfig

* unit test for MethodConfig

* unit test for ModuleConfig

* unit test for MonitorConfig

* unit test for ProtocolConfig

* unit test for ApplicationConfig

* fix typo

* unit test for ArgumentConfig

* unit test for ConsumerConfig

* unit test for MethodConfig

* unit test for ModuleConfig

* unit test for MonitorConfig

* unit test for ProtocolConfig

* unit test for ProviderConfig

* make test stable

* enable tcp no delay for netty 3 server (#1746)

(cherry picked from commit 430fb4c)

* Change parent pom back to oss in this version

* Add binary release module 'distribution'

* Bump version to 2.6.2 for release

* Merge pull request #1616, fix hessian1 serialized short, byte is converted to int.

* Polish distribution pom

* unit test for RegistryConfigTest (#1775)

* Fix hessian-lite spelling mistake (#1779)

* Remove unecessary cast.

* Remove unnecessary null check. (#1764)

* Such logic already exists in findAnnotationName (#1750)

* Remove unnecessary null check.

* Ignore testStatusChecker since it is unstable and consider removing it later.

* unit test for ServiceConfig (#1780)

* unit test for RegistryConfigTest

* unit test for ServiceConfig

* ignore com.alibaba.dubbo.config.ServiceConfigTest.testUnexport to make unit test stable

* Merge pull request #1761, add Locale serialize & deserialize support.

Fixed #906

* Upgrade tomcat version to 8.5.31. (#1781)

* add test for monitor module (#1741)

* [Dubbo-1687]Add unit tests for dubbo-filter-validation module (#1736)

* Add unit tests for dubbo-filter-validation module

* add more jaxb api libs for testing with jdk9, because it does't contain them by default any more

* clean up: finish unit test for config-api (#1795)

* Extracting public code to the parent class (#1776)

* Extracting public code to the parent class

* test

* Support package NOTICE & LICENSE into sub-module jar.

* Bump version to 2.6.2-SNAPSHOT

* Bump version to 2.6.2-SNAPSHOT

* [maven-release-plugin] prepare release dubbo-2.6.2

* [maven-release-plugin] prepare for next development iteration

* Add assembly plugin

* unit test for com.alibaba.dubbo.common.status.support (#1796)

* unit test for Status

* remove unnecessary 'static'

* unit test for StatusUtils

* unit test for LoadStatusChecker

* reformat the code

* unit test for MemoryStatusChecker

* New threadLocal provides more performance. (#1745)

* SerializerFactory 获取Serializer时,锁住整个hashmap,导致整个过程被block

* 单元测试。保证一个class只有一个serializer和deserializer。单线程和多线程测试

* 增加线程数 50 模拟多个线程来获取serializer和deserializer

* 当cores线程数全都使用的情况下,默认线程池会把任务放入到队列中。队列满则再创建线程(总数不会超过Max线程数)
增强线程池:在请求量阶段性出现高峰时使用
特性:cores线程全部使用的情况下,优先创建线程(总数不会超过max),当max个线程全都在忙的情况下,才将任务放入队列。请求量下降时,线程池会自动维持cores个线程,多余的线程退出。

* 当cores线程数全都使用的情况下,默认线程池会把任务放入到队列中。队列满则再创建线程(总数不会超过Max线程数)
增强线程池:在请求量阶段性出现高峰时使用
特性:cores线程全部使用的情况下,优先创建线程(总数不会超过max),当max个线程全都在忙的情况下,才将任务放入队列。请求量下降时,线程池会自动维持cores个线程,多余的线程退出。

* 补全单元测试,测试扩展是否生效

* 错误命名

* 增加@OverRide注解
long 初始化赋值时,小写l改为大写L防止误读

* 修复单元测试

* remove enhanced

* remove enhanced

* Faster ThreadLocal impl in internal use
* Used in RpcContext`s LOCAL field.
* Faster get than the traditional ThreadLocal

* add License

* fix ci failed

* fix ci failed

* fix ci failed

* fix ci failed

* fix ci failed

* remove author info

* fix destroy method

* fix bug at method size.

* unit test for SimpleDataStore (#1797)

* Add CHANGES.md as release note.

* Polish release notes in CHANGES.md

* Thread pool unit test (#1802)

* reformat the code, and move the test into the correct package

* unit test for c.a.d.c.threadpool

* Fix bug in InternalThreadLocal and provides unit test (#1803)

* SerializerFactory 获取Serializer时,锁住整个hashmap,导致整个过程被block

* 单元测试。保证一个class只有一个serializer和deserializer。单线程和多线程测试

* 增加线程数 50 模拟多个线程来获取serializer和deserializer

* 当cores线程数全都使用的情况下,默认线程池会把任务放入到队列中。队列满则再创建线程(总数不会超过Max线程数)
增强线程池:在请求量阶段性出现高峰时使用
特性:cores线程全部使用的情况下,优先创建线程(总数不会超过max),当max个线程全都在忙的情况下,才将任务放入队列。请求量下降时,线程池会自动维持cores个线程,多余的线程退出。

* 当cores线程数全都使用的情况下,默认线程池会把任务放入到队列中。队列满则再创建线程(总数不会超过Max线程数)
增强线程池:在请求量阶段性出现高峰时使用
特性:cores线程全部使用的情况下,优先创建线程(总数不会超过max),当max个线程全都在忙的情况下,才将任务放入队列。请求量下降时,线程池会自动维持cores个线程,多余的线程退出。

* 补全单元测试,测试扩展是否生效

* 错误命名

* 增加@OverRide注解
long 初始化赋值时,小写l改为大写L防止误读

* 修复单元测试

* remove enhanced

* remove enhanced

* Faster ThreadLocal impl in internal use
* Used in RpcContext`s LOCAL field.
* Faster get than the traditional ThreadLocal

* add License

* fix ci failed

* fix ci failed

* fix ci failed

* fix ci failed

* fix ci failed

* remove author info

* fix destroy method

* fix bug at method size.

* Unit test for InternalThreadLocal

* Unit test for InternalThreadLocal
Fix bug in method removeAll

* make unit test stable (#1805)

*     #1682: Enhance the test coverage part-4: dubbo-common/src/main/java/com/alibaba/dubbo/common/status(store|threadpoolutils) modules (#1806)

* Remove redundant cast.

* Merge pull request #1792, fix zk unsubscribe issue.

* Merge pull request #1570, fix annotation demo in dubbo-test.

* Add a construtor to accept address and protocol for RegistryConfig.

* Remove unused code.

* Ensure Dubbo can shutdown correctly when running both under tomcat and programmably.

* Add comments.

* Add dependency.

* Using ExecutorUtil#gracefulShutdown instead of create a new method.

* Correct pom version.

* Fix UT failure.

* Merge pull request #1811, fix unstable hessian protocol unit test by adding overload. 

Fixed #1667, fixed #1727

* Merge pull request #1808, fix URL parsing problem when user filed contains '@' characters.

Fixed #1470

* Simplify code, no function change.

* Remove unnecessary null check.

* Ensure merger is specified to true to demonstrate the merger feature.

* Merge pull request #1643, ChannelState branch prediction optimization.

* Remove .orig file and update gitigonre.

*     #1816: dubbo schema compatibility

* Go back to 2.6.2-SNAPSHOT to prepare for the next release.

* Add source-release assembly config

* Add arguments for release-plugin

*     #1816: dubbo schema compatibility

* Fix minor issues reported in 2.6.2 RC1

* Add *.log exclude pattern for source-release assembly

* Skip checkstyle by default

* Skip rat by default

* Merge checkstyle-plugin configuration

* Exclude release temp files

* Exclude release temp files

*     #1597: CacheFilter,when value is null,it will throw NPE(if use ehcache for jcache),why not check null here (#1828)

*     #1830: dbindex support in redis (#1831)

* Merge pull request #1839, remove validation key from provider url registered to registry.

Fixes #1386.

* Add profile for distribution module

* [maven-release-plugin] prepare release dubbo-2.6.2

* [maven-release-plugin] prepare for next development iteration

* Merge pull request #1836, there is a potential deadlock in DubboProtocol#getSharedClient.

Fixes #677.

* Use InternalThreadLocal in consumer side (#1825)

* SerializerFactory 获取Serializer时,锁住整个hashmap,导致整个过程被block

* 单元测试。保证一个class只有一个serializer和deserializer。单线程和多线程测试

* 增加线程数 50 模拟多个线程来获取serializer和deserializer

* 当cores线程数全都使用的情况下,默认线程池会把任务放入到队列中。队列满则再创建线程(总数不会超过Max线程数)
增强线程池:在请求量阶段性出现高峰时使用
特性:cores线程全部使用的情况下,优先创建线程(总数不会超过max),当max个线程全都在忙的情况下,才将任务放入队列。请求量下降时,线程池会自动维持cores个线程,多余的线程退出。

* 当cores线程数全都使用的情况下,默认线程池会把任务放入到队列中。队列满则再创建线程(总数不会超过Max线程数)
增强线程池:在请求量阶段性出现高峰时使用
特性:cores线程全部使用的情况下,优先创建线程(总数不会超过max),当max个线程全都在忙的情况下,才将任务放入队列。请求量下降时,线程池会自动维持cores个线程,多余的线程退出。

* 补全单元测试,测试扩展是否生效

* 错误命名

* 增加@OverRide注解
long 初始化赋值时,小写l改为大写L防止误读

* 修复单元测试

* remove enhanced

* remove enhanced

* Change ThreadFactory for consumer side which is to use InternalThreadLocal in RpcContext.

* optimize_zk_create (#1833)

* fix #1845 (#1851)

* update CXF to latest version and add test case for webservice protocol (#1564)

* update cxf version and add test cases

* support jdk7

* add profile for dependency in jdk9

* modify profile location

* fix jaxb version

* add dependency for jdk9

* extract dependencies to dependencies bom project

*     #1682: Enhance the test coverage part-4 (#1862)

* [Dubbo-1693] Enhance the test coverage part-14 (#1859)

* add testcase

* remove useless code

* Merge pull request #1866, clarify license for codes referencing thirdparty repositories.

Clarify netty License.

* Merge pull request #1820, improve graceful shutdown.

* Merge pull request #1837, spring spi support inject by type.

* Merge pull request #1843, support implicit delivery of attachments from provider to consumer.

Fixes #889, #1466, #1834, #1466, #1524

* Merge pull request #1868, add test for rpc modules.

fixes #1697

* [Dubbo-1684] add unit test for dubbo spring config (#1809)

* add test for config spring module

* add more test for serviceBean and refBean

* Merge pull request #1827, support generic invoke and attachment for http/hessian protocol.

fixes  #1768, #19

* Merge pull request #1872, get the real methodname to support consistenthash for generic invoke.

* Merge pull request #348, AtomicPositiveInteger less memory used & provides better perf.

* Merge pull request #1873, support proxy for provider side.

fixes #67

* Merge #1740 manually, fix typo.

* Adding maven wrapper to Dubbo project (#1887)

* 当cores线程数全都使用的情况下,默认线程池会把任务放入到队列中。队列满则再创建线程(总数不会超过Max线程数)
增强线程池:在请求量阶段性出现高峰时使用
特性:cores线程全部使用的情况下,优先创建线程(总数不会超过max),当max个线程全都在忙的情况下,才将任务放入队列。请求量下降时,线程池会自动维持cores个线程,多余的线程退出。

* 当cores线程数全都使用的情况下,默认线程池会把任务放入到队列中。队列满则再创建线程(总数不会超过Max线程数)
增强线程池:在请求量阶段性出现高峰时使用
特性:cores线程全部使用的情况下,优先创建线程(总数不会超过max),当max个线程全都在忙的情况下,才将任务放入队列。请求量下降时,线程池会自动维持cores个线程,多余的线程退出。

* 补全单元测试,测试扩展是否生效

* 增加@OverRide注解
long 初始化赋值时,小写l改为大写L防止误读

* remove enhanced

* remove enhanced

* feat: 增加maven-wrapper,用户可以使用自己的maven,应用工程构建时将会使用工程的maven版本

* use mvnw to ci.

* Merge pull request #1453, restore the bug that attachment has not been updated in the RpcContext when the Dubbo built-in retry mechanism is triggered.

* remove author info from #1453

* upgrade version manually after merge 2.6.2-release

* remove hessian-lite of 2.6.x and use https://github.com/dubbo/hessian-lite  (#2073)

* remove hessian-lite
* add hessian-lite dependency to dependencies-bom/pom.xml

* Merge pull request #2117, fix protocol version compatibility with lower versions.

*     #1431: here is a StackOverflow bug? dubbo version 2.5.9, FailsafeLogger.appendContextMessage() > NetUtils.getLocalAddress() (#1912)

* Updage changes for 2.6.3

* Merge #2114 mannually from master, enable configuration of Consumer thread pool.

* Merge #2114 mannually from master, enable configuration of Consumer thread pool.

* Merge pull request #2126, ensure compatibility for elegant shutdown under servlet container. 

Fixes #1998

* Resolve conflicts of merging #1820

* Upgrade hessian-lite dependency to 3.2.4

* [maven-release-plugin] prepare release dubbo-2.6.3

* [maven-release-plugin] prepare for next development iteration

* support char[] for generic invoke #2003 (#2137)

* support char[] for generic invoke, #2003

* add null or empty string testcase

* Update CHANGES.md

polish

* Exclude maven wrapper when package

* Merge pull request #2024, binding attachment before a clusterInvoker invoke.

Fixes #1978

* Merge pull request #2146, fix redis auth problem for RedisProtocol.

Fixes #2017

* fix subscription when enable monitor (#2166)

It looks good.

* solve compatible issue with dubbo 2.5.9, 2.5.10 (#2175)

* solve compatible issue with dubbo 2.5.9, 2.5.10 (#2175)

* Add compatibility notice to Release Notes

* fix ut unstable (#2192)

* Replace hard coded version number of hessian-lite #2136 (#2195)

* Fixes #2136, replace hard coded hessian-lite version with mavne property. (#2223)

* Remove hessian-lite license.

* fix ut stable, #2227 (#2302)

* fix ut, #2227

* add cache for travis ci

* fix travis problem, skip javadoc

* fix retries to 2, #2162 (#2303)

* Revert version to 2.6.2-SNAPSHOT to prepare for 2.6.3 RC4

* Replace outdated license header

* Include 'apache' in release package name.

* Fix version issue: 2.6.2-SNAPSHOT to 2.6.3-SNAPSHOT

* [maven-release-plugin] prepare release dubbo-2.6.3

* [maven-release-plugin] prepare for next development iteration

* complete LICENSE for test xml, fix checkstyle problem

* [maven-release-plugin] prepare release dubbo-2.6.3

* New ascii logo for 2.6.x (#2402)

* Merge pull request #2417, add release script (draft).

* Direct return when the server goes down unnormally. (#2451)

* fix telnet invoke NPE #2218 (#2273) (#2453)

* upgrade javadoc to 3.0.1 (#2454)

* Qos enhancement, take #2153 back to 2.6.x (#2455)

* remove dubbo-all javadoc plugin (#2456)

* Prepare for the next development version

* add cache for travis, fix ut for stable (#2501)

* fix time, timestamp, SQL. Date type conversion problems (#2502)

* add change log for 2.6.4

* Enhance NOTICE file.

* change port for unit test

* [maven-release-plugin] prepare release dubbo-2.6.4

* [maven-release-plugin] prepare for next development iteration

* fix #2560, use target/test-classes as the basedir (#2564)

* Optimize LeastActiveLoadBalance and add weight test case. (#2584)

* fix #2600, add javadoc plugin to dubbo-all module (#2602)

* Removed jdk9 from .travis.yml. (#2609)

* update release script (#2615)

* Fix incorrect descriptions for dubbo-serialization module for 2.6.x. (#2624)

Fix incorrect descriptions for dubbo-serialization module for 2.6.x.

* Fixed 2.6.x branch a minor issue with doConnect not using getConnectTimeout() in NettyClient,like  #2595 (#2622)

* fix #1641, support get system load on windows. (#2621)

* fix #2063

* @service and @reference Optimization (#2657)

* Polish #2235 #2251 apache/dubbo-spring-boot-project#243

* Fixed bugs and optimized imports

*     #1903: merge issue 1903's fix from 2.7.0 to 2.6.x (#2668)

*     #2016: merge fix from 2.7.0 to 2.6.x (#2680)

* Smooth Round Robin selection (#2647)

* remove author info for RoundRobinLoadBalance (#2696)

* Bug Fix & Enhancement (#2687)

* Polish #2235 #2251 apache/dubbo-spring-boot-project#243

* Fixed bugs and optimized imports

* Remove local PropertySourcesUtils and re-use it from spring-context-extras

* Add Test cases for YAML properties
issues :
apache/dubbo-spring-boot-project/issues/273

* Optimize imports using code-style template

* Refactor Utilities class

* Fixed test cases

* [Enhancement] @EnableDubboConfigBinding annotates @repeatable #1770

* Bug fix

* Remove feature :
[Enhancement] @EnableDubboConfigBinding annotates @repeatable #1770

* release 2.6.5 (#2705)

* 2.6.5 release changes.md  (#2708)

* release 2.6.5

* release 2.6.5

* release 2.6.5 changes

* add 2.6.5 release note

* add 2.6.5 release note

* modify 2.6.5 release log (replace pr link with issue link) (#2716)

* release 2.6.5

*  edit release note for 2.6.5 (rewrite log)

* remove serviceclassHolder and also fix the issue #2637 (#2607)

* remove serviceclassHolder

* [Dubbo-2637] fix the issue #2637 to make sure the properties load properly

* ServiceConfig.java:33: Using the '.*' form of import should be avoided

* replace the import rpc.* with rpc Exporter etc

* replace the import rpc.* with rpc Exporter etc

* fix referenceBean initialization issue (#2719)

* [Dubbo-2678] Add ability to turn off SPI auto injection, special support for Object type. (#2681)

* Add ability to turn off SPI auto injection, special support for generic Object type injection.

* Add ability to turn off SPI auto injection, special support for generic Object type injection.

* disable() is redundant in DisableInject annotation.

* merge #2725 (#2734)

* merge #2725

* fix UT failure

* remove useless test

* fix unit test failures

* [DUBBO-2489] MockClusterInvoker provides local forced mock,I tested it locally, but it doesn't work (#2739)

* Add forks support for ForkingCluster. (#2751)

Add forks support for ForkingCluster.

*     #2748: Provider should disable mock configuration (#2750)

* Fix the bug that ReferenceBean refers service more than once when debugging. (#2759)

note:
please visit http://t.cn/EAhta27 for more detail.

* merge pull request #2353 to 2.6.x to fix #2353 (#2761)

*     #2762: [Dubbo - qos-http] stopServer should be invoked ? (#2768)

* 2.6.5 release note change (#2775)

* release 2.6.5

*  edit release note for 2.6.5 (rewrite log)

* mmm

* edit release note to remove some unuseful word

* merge from upstream and origin

* [Dubbo-2678] Add ability to turn off SPI auto injection, special support for Object type. (#2681)

* Add ability to turn off SPI auto injection, special support for generic Object type injection.

* Add ability to turn off SPI auto injection, special support for generic Object type injection.

* disable() is redundant in DisableInject annotation.

* Update release note

* fix #2459  sha512 issue

* [maven-release-plugin] prepare release dubbo-2.6.5

* [maven-release-plugin] prepare for next development iteration

* fix 2798 on branch 2.6.x (#2805)

'propertyname in java donot contain '-' but camel format'.

* Remove extra modifiers (#2876)

Remove extra modifiers

* feature:import TagRouter (#3065)

* Merge pull request #3315, fixes #2842, duplicate SPI config items.

* Fix random ut falling in DubboMonitorTest (#3336)

* use netty4 as default transporter for 2.6.6 #3029 (#3318)

* use netty4 as default transporter for 2.6.6 #3029

* fix config file issue && enhance UT

* ignore unstable test

* Activate SPI sort (#3412)

* 修正排序

* Update dubbo-common/src/main/java/com/alibaba/dubbo/common/extension/support/ActivateComparator.java

code style

Co-Authored-By: dongYES <30755351+dongYES@users.noreply.github.com>

* Merge pull request #3502, apply #3295 to 2.6 branch.

Fixes #3294, referenceconfig#destroy never invoke unregister.

* Merge pull request #3511, apply #2925 to branch 2.6.x (to make telnet config work again).

* Revise the naming conventions (#3506)

* apply #2220 to 2.6.x branch, issue #2178 (#3519)

* Apply #2925 to branch 2.6.x

* apply #2220 to 2.6.x branch, issue #2178

* Revise the naming conventions (#3506)

* apply #2220 to 2.6.x branch, issue #2178

* remove java.time package

* update hessian-lite to 2.6.5 (#3538)

* [Enhancement] inline the source code of spring-context-support (#3225)

* Manually merge pull request #1486, to make travis ci and codecov work after apache incubator transition.

* Polish #1306

* Optimize imports

* Optimize imports

* Remove invalid JavaDoc

* Update DubboConfigBinder.java

Remove invalid JavaDoc

* Fix #1653

* Fixed #1772

* Reactor ReferenceAnnotationBeanPostProcessor

* Fixed incubator-dubbo-spring-boot-project#243

* Add ServiceBeanNameBuilder

* Polish apache/incubator-dubbo/#2235

* Polish incubator-dubbo#2251

* Update spring-context-supprt version to be release

* Rename ServiceBeanExportEvent to be ServiceBeanExportedEvent

* Poblish #2297

* Polish #2301

* Polish #2315

* Polish #2897 : DubboConfigConfigurationSelector precedence is too high

* Polish #2897 : implements ImportBeanDefinitionRegistrar in order to reduce precedence

* Polish #2897 : rename DubboConfigConfigurationSelector to DubboConfigConfigurationRegistrar

* Polish #3192 : inline the source code of spring-context-support

* Fixed the issues of the test-cases

* Polish #3193 : [Enhancement] Change the default behavior of @EnableDubboConfig.multiple()

* Polish #3192 : inline the source code of spring-context-support

* Polish #3189 Simplify externalized configuration of Dubbo Protocol name

* Polish #3193

* Polish #2987

* Polish #3355 : Add the "protocol" attribute

* Polish #3355 : Still exists the issues in service discovery.

* Polish #3355 : fix the issues in samples

* Polish #3355 : fix the issues in samples

* Polish #3296 : Merge and enhancement dubbo-registry-nacos

* Polish #3251 : @service supports the hierarchical interface

* Polish #3275 : ReferenceBeanInvocationHandler does not throw the actual exception

* Polish #3429 : Fix the NPE

* add license header

* Polish #3296 : Supports Docker

* [Dubbo-2298] Add Annotation-Driven for MethodConfig and ArgumentConfig (#2603)

* support methodConfig and argementConfig. fix #2298

* unit test

* unit test

* remove unused

* remove author

* add licence

* format the code

* update notice

* update CHANGE.md

* [maven-release-plugin] prepare release dubbo-2.6.6

* [maven-release-plugin] prepare for next development iteration

* [DUBBO-3243] Fix Invalid use of BasicClientConnManager: connection still allocated #3243 (#3581)

* Multicast ipv6 support for branch 2.6.x (#3430)

*  Multicast demo fails with message "Can't assign requested address
* remove useless code
* Fix multicast registry ut

* fix fastjson serialize type (#3767)

* Add ASF header #3721 (#3783)

* fix for #4111 (#4114)

do not ignore empty value when we construct servicename

* Disclaimer removed (#4233)

* [No issue] Fix: @method default value will be set to the field of MethodConfig  (#3642)

* fix #2842. fix duplicate SPI definitions

* fix @method set empty string into field

* Polish /#3695 : @reference field can't refer its' @service Bean in same JVM from v2.6.6 (#4385)

* Nacos Dubbo Registry can't sense the change (#4392)

fixes #4348 :

* Dubbo throws IoException with error message while decoding fail (#4396)

Really have this problem

* Dubbo throws exception when use java serializer (#4530)

* Dubbo throws exception when use java serializer
issues:
#3951
#3698

* Dubbo throws exception when use java serializer
issues:
#3951
#3698

fix travis-ci
UnusedImports

* upgrade fastjson to 1.2.58 (#4624)

fixes #4623

* 修复注册中心域名解析导致的单点问题 (#4293)

Fix #2545

* enhance travis

* travis config on 2.6.x (#4916)

* fix default setting

* enhance travis build

* switch back to openjdk since zulu 7 doesn't support javascript, see issue #4961

* use zulu jdk 7 but disable ScriptRouterTest

* add timeout config to zookeeper client (#4963)

* 解决冲突
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants