forked from apache/dubbo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2 from apache/master
merge
- Loading branch information
Showing
3,533 changed files
with
200,355 additions
and
176,583 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
coverage: | ||
status: | ||
# pull-requests only | ||
patch: | ||
default: | ||
threshold: 0.1% | ||
ignore: | ||
- "dubbo-demo/.*" | ||
- "dubbo-common/src/main/java/org/apache/dubbo/common/json/*.java" # internal JSON impl is deprecate, ignore test coverage for them | ||
- "dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/AnnotationBean.java" # Deprecated | ||
- "dubbo-rpc/dubbo-rpc-thrift/.*" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
--- | ||
name: Dubbo issue report template | ||
about: If you would like to report a issue to Dubbo, please use this template. | ||
|
||
--- | ||
|
||
- [ ] I have searched the [issues](https://github.com/apache/incubator-dubbo/issues) of this repository and believe that this is not a duplicate. | ||
- [ ] I have checked the [FAQ](https://github.com/apache/incubator-dubbo/blob/master/FAQ.md) of this repository and believe that this is not a duplicate. | ||
|
||
### Environment | ||
|
||
* Dubbo version: xxx | ||
* Operating System version: xxx | ||
* Java version: xxx | ||
|
||
### Steps to reproduce this issue | ||
|
||
1. xxx | ||
2. xxx | ||
3. xxx | ||
|
||
Pls. provide [GitHub address] to reproduce this issue. | ||
|
||
### Expected Result | ||
|
||
What do you expected from the above steps? | ||
|
||
### Actual Result | ||
|
||
What actually happens? | ||
|
||
If there is an exception, please attach the exception trace: | ||
|
||
``` | ||
Just put your stack trace here! | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,23 @@ | ||
language: java | ||
sudo: false # faster builds | ||
|
||
jdk: | ||
- oraclejdk8 | ||
- oraclejdk7 | ||
- openjdk6 | ||
- openjdk11 | ||
- oraclejdk11 | ||
- openjdk8 | ||
- oraclejdk8 | ||
|
||
cache: | ||
directories: | ||
- $HOME/.m2 | ||
|
||
install: true | ||
|
||
script: | ||
- travis_wait 30 ./mvnw clean install -DskipTests=false -Dcheckstyle.skip=false -Drat.skip=false -Dmaven.javadoc.skip=true | ||
|
||
after_success: | ||
- bash <(curl -s https://codecov.io/bash) | ||
|
||
script: mvn -DskipTests=true clean package | ||
after_failure: | ||
- if [ -f dubbo.log ]; then echo "------TAIL of dubbo.log------"; tail -n 1000 dubbo.log; echo "------END of dubbo.log------"; fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,158 @@ | ||
# Release Notes | ||
|
||
## 2.7.0 | ||
|
||
Requirements: **Java 8+** required | ||
|
||
Please check [here](https://github.com/apache/incubator-dubbo/blob/2.7.0-release/CHANGES.md#upgrading-and-compatibility-notifications) for notes and possible compatibility issues for upgrading from 2.6.x or lower to 2.7.0. | ||
|
||
### New Features | ||
|
||
- Enhancement of service governance rules. | ||
- Enriched Routing Rules. | ||
1. Conditional Routing. Supports both application-level and service-level conditions. | ||
2. Tag Routing. Newly introduced to better support traffic isolation, such as grey deployment. | ||
- Decoupling governance rules with the registry, making it easier to extend. Apollo and Zookeeper are available in this version. Nacos support is on the way... | ||
- Application-level Dynamic Configuration support. | ||
- Use YAML as the configuration language, which is more friendly to read and use. | ||
|
||
- Externalized Configuration. Supports reading `dubbo.properties` hosted in remote centralized configuration center - centralized configuration. | ||
|
||
- Simplified registry URL. With lower Registry memory use and less notification pressure from Service Directory, separates Configuration notification from Service Discovery. | ||
|
||
- Metadata Center. A totally new concept since 2.7.0, used to store service metadata including static configuration, service definition, method signature, etc.. By default, Zookeeper and Redis are supported as the backend storage. Will work as the basis of service testing, mock and other service governance features going to be supported in [Dubbo-Admin](https://github.com/apache/incubator-dubbo-admin). | ||
|
||
- Asynchronous Programming Model (only works for Dubbo protocol now) | ||
- Built-in support for the method with CompletableFuture<T> signature. | ||
- Server-side asynchronous support, with an AsyncContext API works like Servlet 3.0. | ||
- Asynchronous filter chain callback. | ||
|
||
- Serialization Extension: Protobuf. | ||
|
||
- Caching Policy Extension: Expiring Cache. | ||
|
||
### Enhancements / Bugfixes | ||
|
||
- Load Balancing strategy enhancement: ConsitentHash #2190, LeastActive #2171, Random #2597, RoundRobin #2650. | ||
|
||
- Third-party dependency upgrading. | ||
- Switch default remoting to Netty 4. | ||
- Switch default Zookeeper client to Curator. | ||
- Upgrade Jetty to 9.x. | ||
|
||
- IPV6 support #2079. | ||
|
||
- Performance tuning, check hanging requests on a closed channel, make them return directly #2185. | ||
|
||
- Fixed the serialization problem of JDK primitive types in Kryo #2178. | ||
|
||
- Fixed the problem of failing to notify Consumer as early as possible after the Provider side deserialization failed #1903. | ||
|
||
### Upgrading and Compatibility Notifications | ||
|
||
We have always keep compatibility in mind during the whole process of 2.7.0. We even want old users to upgrade with only on pom version upgrade, but it's hard to achieve that, especially when considering that we have the package renamed in this version, so we had some tradeoffs. If you only used the Dubbo's most basic features, you may have little problems of upgrading, but if you have used some advanced features or have some SPI extensions inside, you'd better read the upgrade notifications carefully. The compatibility issues can be classified into the following 5 categories, for each part, there will have detailed dos and don'ts published later in the official website. | ||
|
||
1. Interoperability between 2.7.0 and lower versions | ||
|
||
2. Package renaming | ||
|
||
com.alibaba.dubbo -> org.apache.dubbo | ||
|
||
3. Simplification of registered URLs | ||
|
||
4. Service Governance Rules | ||
|
||
5. Configuration | ||
|
||
|
||
## 2.6.5 | ||
|
||
Enhancements / Features: | ||
|
||
- Reactor the generation rule for @Service Bean name [#2235](https://github.com/apache/incubator-dubbo/issues/2235) | ||
- Introduce a new Spring ApplicationEvent for ServiceBean exporting [#2251](https://github.com/apache/incubator-dubbo/issues/2251) | ||
- [Enhancement] the algorithm of load issue on Windows. [#1641](https://github.com/apache/incubator-dubbo/issues/1641) | ||
- add javadoc to dubbo-all module good first issue. [#2600](https://github.com/apache/incubator-dubbo/issues/2600) | ||
- [Enhancement] Reactor the generation rule for @Service Bean name type/enhancement [#2235](https://github.com/apache/incubator-dubbo/issues/2235) | ||
- Optimize LeastActiveLoadBalance and add weight test case. [#2540](https://github.com/apache/incubator-dubbo/issues/2540) | ||
- Smooth Round Robin selection. [#2578](https://github.com/apache/incubator-dubbo/issues/2578) [#2647](https://github.com/apache/incubator-dubbo/pull/2647) | ||
- [Enhancement] Resolve the placeholders for sub-properties. [#2297](https://github.com/apache/incubator-dubbo/issues/2297) | ||
- Add ability to turn off SPI auto injection, special support for generic Object type injection. [#2681](https://github.com/apache/incubator-dubbo/pull/2681) | ||
|
||
|
||
Bugfixes: | ||
|
||
- @Service(register=false) is not work. [#2063](https://github.com/apache/incubator-dubbo/issues/2063) | ||
- Our customized serialization id exceeds the maximum limit, now it cannot work on 2.6.2 anymore. [#1903](https://github.com/apache/incubator-dubbo/issues/1903) | ||
- Consumer throws RpcException after RegistryDirectory notify in high QPS. [#2016](https://github.com/apache/incubator-dubbo/issues/2016) | ||
- Annotation @Reference can't support to export a service with a sync one and an async one . [#2194](https://github.com/apache/incubator-dubbo/issues/2194) | ||
- `org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor#generateReferenceBeanCacheKey` has a bug. [#2522](https://github.com/apache/incubator-dubbo/issues/2522) | ||
- 2.6.x Spring Event & Bugfix. [#2256](https://github.com/apache/incubator-dubbo/issues/2256) | ||
- Fix incorrect descriptions for dubbo-serialization module. [#2665](https://github.com/apache/incubator-dubbo/issues/2665) | ||
- A empty directory dubbo-config/dubbo-config-spring/src/test/resources/work after package source tgz. [#2560](https://github.com/apache/incubator-dubbo/issues/2560) | ||
- Fixed 2.6.x branch a minor issue with doConnect not using getConnectTimeout() in NettyClient. (*No issue*). [#2622](https://github.com/apache/incubator-dubbo/pull/2622) | ||
- Bean name of @service annotated class does not resolve placeholder. [#1755](https://github.com/apache/incubator-dubbo/issues/1755) | ||
|
||
|
||
|
||
Issues and Pull Requests, check [milestone-2.6.5](https://github.com/apache/incubator-dubbo/milestone/21). | ||
|
||
## 2.6.4 | ||
|
||
Enhancements / Features | ||
|
||
- Support access Redis with password, [#2146](https://github.com/apache/incubator-dubbo/pull/2146) | ||
- Support char array for GenericService, [#2137](https://github.com/apache/incubator-dubbo/pull/2137) | ||
- Direct return when the server goes down abnormally, [#2451](https://github.com/apache/incubator-dubbo/pull/2451) | ||
- Add log for trouble-shooting when qos start failed, [#2455](https://github.com/apache/incubator-dubbo/pull/2455) | ||
- PojoUtil support subclasses of java.util.Date, [#2502](https://github.com/apache/incubator-dubbo/pull/2502) | ||
- Add ip and application name for MonitorService, [#2166](https://github.com/apache/incubator-dubbo/pull/2166) | ||
- New ASCII logo, [#2402](https://github.com/apache/incubator-dubbo/pull/2402) | ||
|
||
Bugfixes | ||
|
||
- Change consumer retries default value from 0 to 2, [#2303](https://github.com/apache/incubator-dubbo/pull/2303) | ||
- Fix the problem that attachment is lost when retry, [#2024](https://github.com/apache/incubator-dubbo/pull/2024) | ||
- Fix NPE when telnet get a null parameter, [#2453](https://github.com/apache/incubator-dubbo/pull/2453) | ||
|
||
UT stability | ||
|
||
- Improve the stability by changing different port, setting timeout to 3000ms, [#2501](https://github.com/apache/incubator-dubbo/pull/2501) | ||
|
||
Issues and Pull Requests, check [milestone-2.6.4](https://github.com/apache/incubator-dubbo/milestone/19). | ||
|
||
## 2.6.3 | ||
|
||
Enhancements / Features | ||
|
||
- Support implicit delivery of attachments from provider to consumer, #889 | ||
- Support inject Spring bean to SPI by bean type, #1837 | ||
- Add generic invoke and attachments support for http&hessian protocol, #1827 | ||
- Get the real methodname to support consistenthash for generic invoke, #1872 | ||
- Remove validation key from provider url on Consumer side, config depedently, #1386 | ||
- Introducing the Bootstrap module as a unified entry for Dubbo startup and resource destruction, #1820 | ||
- Open TCP_NODELAY on Netty 3, #1746 | ||
- Support specify proxy type on provider side, #1873 | ||
- Support dbindex in redis, #1831 | ||
- Upgrade tomcat to 8.5.31, #1781 | ||
|
||
Bugfixes | ||
|
||
- ExecutionDispatcher meet with user docs, #1089 | ||
- Remove side effects of Dubbo custom loggers on Netty logger, #1717 | ||
- Fix isShutdown() judge of Dubbo biz threadpool always return true, #1426 | ||
- Selection of invoker node under the critical condition of only two nodes, #1759 | ||
- Listener cann't be removed during unsubscribe when use ZK as registry, #1792 | ||
- URL parsing problem when user filed contains '@', #1808 | ||
- Check null in CacheFilter to avoid NPE, #1828 | ||
- Fix potential deadlock in DubboProtocol, #1836 | ||
- Restore the bug that attachment has not been updated in the RpcContext when the Dubbo built-in retry mechanism is triggered, #1453 | ||
- Some other small bugfixes | ||
|
||
Performance Tuning | ||
|
||
- ChannelState branch prediction optimization. #1643 | ||
- Optimize AtomicPositiveInteger, less memory and compute cost, #348 | ||
- Introduce embedded Threadlocal to replace the JDK implementation, #1745 | ||
|
||
Hessian-lite |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
# Contributor Covenant Code of Conduct | ||
|
||
## Our Pledge | ||
|
||
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. | ||
|
||
## Our Standards | ||
|
||
Examples of behavior that contributes to creating a positive environment include: | ||
|
||
* Using welcoming and inclusive language | ||
* Being respectful of differing viewpoints and experiences | ||
* Gracefully accepting constructive criticism | ||
* Focusing on what is best for the community | ||
* Showing empathy towards other community members | ||
|
||
Examples of unacceptable behavior by participants include: | ||
|
||
* The use of sexualized language or imagery and unwelcome sexual attention or advances | ||
* Trolling, insulting/derogatory comments, and personal or political attacks | ||
* Public or private harassment | ||
* Publishing others' private information, such as a physical or electronic address, without explicit permission | ||
* Other conduct which could reasonably be considered inappropriate in a professional setting | ||
|
||
## Our Responsibilities | ||
|
||
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. | ||
|
||
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. | ||
|
||
## Scope | ||
|
||
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. | ||
|
||
## Enforcement | ||
|
||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [email protected]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. | ||
|
||
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. | ||
|
||
## Attribution | ||
|
||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] | ||
|
||
[homepage]: http://contributor-covenant.org | ||
[version]: http://contributor-covenant.org/version/1/4/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
|
||
## Contributing to dubbo | ||
Dubbo is released under the non-restrictive Apache 2.0 license, and follows a very standard Github development process, using Github tracker for issues and merging pull requests into master. If you want to contribute even something trivial please do not hesitate, but follow the guidelines below. | ||
|
||
### Sign the Contributor License Agreement | ||
Before we accept a non-trivial patch or pull request we will need you to sign the Contributor License Agreement. Signing the contributor’s agreement does not grant anyone commit rights to the main repository, but it does mean that we can accept your contributions, and you will get an author credit if we do. Active contributors might be asked to join the core team, and given the ability to merge pull requests. | ||
|
||
### Contact | ||
|
||
#### Mailing list | ||
|
||
The mailing list is the recommended way for discussing almost anything that related to Dubbo. Please refer to this [guide](https://github.com/apache/incubator-dubbo/wiki/Mailing-list-subscription-guide) for detailed documentation on how to subscribe. | ||
|
||
- [[email protected]](mailto:[email protected]): the develop mailing list, you can ask question here if you have encountered any problem when using or developing Dubbo. | ||
- [[email protected]](mailto:[email protected]): all the commits will be sent to this mailing list. You can subscribe to it if you are interested in Dubbo's development. | ||
- [[email protected]](mailto:[email protected]): all the Github [issue](https://github.com/apache/incubator-dubbo/issues) updates and [pull request](https://github.com/apache/incubator-dubbo/pulls) updates will be sent to this mailing list. | ||
|
||
### Reporting issue | ||
|
||
Please follow the [template](https://github.com/apache/incubator-dubbo/issues/new?template=dubbo-issue-report-template.md) for reporting any issues. | ||
|
||
### Code Conventions | ||
Our code style is almost in line with the standard java conventions (Popular IDE's default setting satisfy this), with the following additional restricts: | ||
* If there are more than 120 characters in current line, start a new line. | ||
|
||
* Make sure all new .java files to have a simple Javadoc class comment with at least a @date tag identifying birth, and preferably at least a paragraph on what the class is for. | ||
|
||
* Add the ASF license header comment to all new .java files (copy from existing files in the project) | ||
|
||
* Make sure no @author tag added to the file you contribute since @author tag is not used at Apache, other ways such as cvs will record all your contributions fairly. | ||
|
||
* Add some Javadocs and, if you change the namespace, some XSD doc elements. | ||
|
||
* A few unit tests should be added for a new feature or an important bugfix. | ||
|
||
* If no-one else is using your branch, please rebase it against the current master (or other target branch in the main project). | ||
|
||
* When writing a commit message please follow these conventions, if you are fixing an existing issue please add Fixes #XXX at the end of the commit message (where XXX is the issue number). | ||
|
||
### Contribution flow | ||
|
||
This is a rough outline of what a contributor's workflow looks like: | ||
|
||
* Fork the current repository | ||
* Create a topic branch from where to base the contribution. This is usually master. | ||
* Make commits of logical units. | ||
* Make sure commit messages are in the proper format (see below). | ||
* Push changes in a topic branch to your forked repository. | ||
* Follow the checklist in the [pull request template](https://github.com/apache/incubator-dubbo/blob/master/PULL_REQUEST_TEMPLATE.md) | ||
* Before you sending out the pull request, please sync your forked repository with remote repository, this will make your pull request simple and clear. See guide below: | ||
``` | ||
git remote add upstream [email protected]:apache/incubator-dubbo.git | ||
git fetch upstream | ||
git rebase upstream/master | ||
git checkout -b your_awesome_patch | ||
... add some work | ||
git push origin your_awesome_patch | ||
``` | ||
* Submit a pull request to apache/incubator-dubbo and wait for the reply. | ||
|
||
Thanks for contributing! | ||
|
||
### Code style | ||
|
||
We provide a template file [dubbo_codestyle_for_idea.xml](https://github.com/apache/incubator-dubbo/tree/master/codestyle/dubbo_codestyle_for_idea.xml) for IntelliJ idea, you can import it to you IDE. | ||
If you use Eclipse you can config manually by referencing the same file. | ||
|
||
**NOTICE** | ||
|
||
It is very important to set the dubbo_codestyle_for_idea.xml, otherwise you will fail to pass the Travis CI. Steps to set the code style are as below: | ||
|
||
1. Enter `Editor > Code Style` | ||
2. To manage a code style scheme, in the Code Style page, select the desired scheme from the drop-down list, and click ![manage profiles](codestyle/manage_profiles.png). | ||
From the drop-down list, select `Import Scheme`, then select this option `IntelliJ IDEA code style XML` to import scheme | ||
3. In the Scheme field, type the name of the new scheme and press ⏎ to save the changes. | ||
|
Oops, something went wrong.