Dubbo v2.7.1 Release Notes
Release Date: 2019-03-26 // about 5 years ago-
⚠ Warning: According to reports from the community, be aware of possible Service Discovery problems in certain circumstances. Check #4213 for details.
风险提示:升级到2.7.1版本后,注册中心(多数是zookeeper)在某些特殊场景下会出现重复URL地址数据无法删除,导致消费方拿到的是失效地址,从而导致调用失败的问题,2.7.2版本里面会修复此问题,预计6月初发布。详细原因请参考#4213。🔔 Notice
🚚 'zkclient' extension for 'org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter' is removed from Dubbo 2.7.1, and 'curator' extension becomes the default extension. If you happen to config your application to use 'zkclient' explicitly, pls. switch to use 'curator' instead.
🆕 New Features
- 👍 service register support on nacos #3582
- 👌 support consul as registry center, config center and metadata center #983
- 👍 service registry support/config center support on etcd #808
- 👍 metrics support in dubbo 2.7.1 #3598
- 👍 @argument @method support #2405
✨ Enhancement
- [Enhancement] @EnableDubboConfigBinding annotates @repeatable #1770
- 0️⃣ [Enhancement] Change the default behavior of @EnableDubboConfig.multiple() #3193
- Should make annotation easier to use in multiple items circumstance #3039
- ⬆️ NoSuchMethodError are thrown when add custom Filter using dubbo2.6.5 and JDK1.6 and upgrade to dubbo2.7.0 #3570
- introduce dubbo-dependencies-zookeeper #3607
- Zookeeper ConfigCenter reuse the client abstraction and connection session #3288
- [Survey] Is it necessary to continue to maintain zkclient in dubbo project? #3569
- Start to use IdleStateHandler in Netty4 #3341
- 👌 Support multiple shared links #2457
- ⚡️ Optimize heartbeat #3299
- AccessLogFilter simple date format reduce instance creation #3026
- 👌 Support wildcard ip for tag router rule. #3289
- ScriptRouter should cache CompiledScript #390
- ⚡️ Optimize compareTo in Router to guarantee consistent behaviour. #3302
- 👍 RMI protocol doesn't support generic invocation #2779
- ✨ a more elegant way to enhance HashedWheelTimer #3567
- obtain local address incorrectly sometimes in dubbo #538
- implement pull request #3412 on master branch #3418
- ✨ enhancement for event of response (follow up for pull request #3043) #3244
- ⬆️ bump up hessian-lite version #3423 #3513
- [Dubbo-3610]make snakeyaml transitive, should we do this? #3659
🛠 Bugfixes
- cannot register REST service in 2.7 due to the changes in RestProtoco#getContextPath #3445
- Conflict between curator client and dubbo #3574
- is there a problem in NettyBackedChannelBuffer.setBytes(...)? #2619
- [Dubbo - client always reconnect offline provider] Dubbo client bug #3158
- 🛠 fix heartbeat internal #3579
- logic issue in RedisRegistry leads to services cannot be discovered. #3291
- Multicast demo fails with message "Can't assign requested address" #2423
- 🛠 Fix thrift protocol, use path to locate exporter. #3331
- 🔧 cannot use override to modify provider's configuration when hessian protocol is used #900
- Condition is not properly used ? #1917
- 👀 connectionMonitor in RestProtocol seems not work #3237
- 📜 fail to parse config text with white space #3367
- @reference check=false doesn't take effect #195
- 🔧 [Issue] SpringStatusChecker execute errors on non-XML Spring configuration #3615
- monitor's cluster config is set to failsafe and set to failsafe only #274
- A question for ReferenceConfigCache. #1293
- referenceconfig#destroy never invoke unregister #3294
- 🛠 Fix when qos is disable,log will print every time #3397
- 👍 service group is not supported in generic direct invocation #3555
- setOnreturn doesn't take effect in async generic invocation #208
- 🛠 Fix timeout filter not work in async way #3174
- java.lang.NumberFormatException: For input string: "" #3069
- 🔧 NPE occurred when the configuration was deleted #3533
- 📦 NPE when package of interface is empty #3556
- NPE when exporting rest service using a given path. #3477
- NullPointerException happened when using SpringContainer.getContext() #3476
- 👻 Why does not tomcat throw an exception when
server.start
failed with a socket binding error. #3236 - 📇 No such extension org.apache.dubbo.metadata.store.MetadataReportFactory by name redis #3514
- dubbo 2.7.1-SNAPSHOT NoClassDefFoundError when use springboot #3426
- NPE occurs when use @reference in junit in spring boot application #3429
- When refer the same service with more than one @references(with different configs) on consumer side, only one take effect #1306
- 👻 consumer always catch java.lang.reflect.UndeclaredThrowableException for the exception thrown from provider #3386
- dubbo2.7.0 com.alibaba.com.caucho.hessian.io.HessianProtocolException: 'com.alibaba.dubbo.common.URL' could not be instantiated #3342
- Close Resources Properly #3473
- SPI entires dup by 3 times. #2842
- provider gets wrong interface name from attachment when use generic invocation in 2.6.3 #2981
- HashedWheelTimer's queue gets full #3449
- 📇 Modify MetadataReportRetry ThreadName #3550
- Keep interface key in the URL in simplify mode when it's different from path. #3478
- nc is not stable in dubbo's bootstrap script #936