Commit Graph

196 Commits

Author SHA1 Message Date
hanpen24 9d659eba44
Fix channel leakage in onConnected and onGoaway methods (#14100) 2024-05-08 11:36:08 +08:00
hanpen24 f03823eec1
Use ExecutorService instead of event loop for Netty connection (#13904)
* Use ExecutorService instead of event loop for Netty connection

This change addresses the issue of the event loop being blocked for an extended period, improving overall performance and responsiveness.

* fix log getConnectAddress

* applay format

* applay format

* applay format

* applay format

* applay format

* Use an independent ExecutorService

* Use ScheduledExecutorService for scheduling tasks

* delete unnecessary files

* Modify to stop ExecutorService using shutdownNow

* Modify to use ScheduledExecutor managed by FrameworkExecutorRepository

* Synchronize reconnectDuration with HeaderExchangeClient's reconnectDuration

* get framework model directly

use awaitility
2024-04-07 10:31:23 +08:00
jean pierre Lerbscher 00812ce41c
Fix Sonar issue s2293 The diamond operator ('<>') should be used (#14005) 2024-03-29 11:40:06 +08:00
Albumen Kevin 392260a30e
Fix NPE in NettyConnectionClient.toString (#13934) 2024-03-19 09:37:28 +08:00
namelessssssssssss 29b0c7298d
Fix port unification issue in triple and dubbo protocol (#13696)
* Fix issue of tri Portunification

* style fix
2024-01-31 10:59:25 +08:00
icodening 2cf54f7947
Close the connection but not the client (#13600)
* Close the connection but not the client

* Close the connection but not the client
2024-01-19 18:19:57 +08:00
icodening e26a22d163
fix complete already (#13546)
* fix complete already

* fix complete already
2023-12-25 20:06:32 +08:00
yizhenqiang 71a1ed3cae
if SSL auth policy is set to AuthPolicy.NONE, SslServerTlsHandler#decode should remove and return instead of printing the error log. (#13468)
Co-authored-by: yizhenqiang <yizhenqiang@corp.netesase.com>
2023-12-14 19:12:04 +08:00
huazhongming 730695a7a2
[3.2]Use spotless to format the code (#13320)
* Use spotless to format the code

Signed-off-by: crazyhzm <crazyhzm@gmail.com>

* Support develop with JDK 21

Signed-off-by: crazyhzm <crazyhzm@gmail.com>

---------

Signed-off-by: crazyhzm <crazyhzm@gmail.com>
2023-11-07 15:40:13 +08:00
Albumen Kevin 02e486a1dc
Fix unable to receive go away frame (#13228)
* Fix unable to receive go away frame

* Rename

* rename
2023-10-18 11:38:57 +08:00
TomlongTK 069fd5e1ce
Fix triple client stream executor (#13178)
* Fix error stream executor

* add ping pong for tri protocol (#12955)

* add ping pong for tri protocol

* add ping pong for tri protocol

* add ping pong for tri protocol

* add ping pong for tri protocol

* Revert "add ping pong for tri protocol (#12955)"

This reverts commit 5a3be17bf1.

---------

Co-authored-by: Albumen Kevin <jhq0812@gmail.com>
Co-authored-by: icodening <cleverbn96@gmail.com>
2023-10-11 23:23:25 +08:00
icodening b84c1386bb
add ping pong for tri protocol (#12955)
* add ping pong for tri protocol

* add ping pong for tri protocol

* add ping pong for tri protocol

* add ping pong for tri protocol
2023-10-11 11:17:41 +08:00
Albumen Kevin bd5d158d1b Fix ReplierDispatcherTest test case in Windows platform 2023-09-26 16:30:03 +08:00
Albumen Kevin e0ca51d0b0 Update ReplierDispatcherTest test case 2023-09-26 15:29:31 +08:00
Albumen Kevin 327b808689
Enhance unit test cases in netty4 (#13124) 2023-09-26 09:42:21 +08:00
Albumen Kevin 0fb1e4c4c6
Enhance unit test cases from scheduled tasks (#13099) 2023-09-22 20:23:32 +08:00
Albumen Kevin 0bfd54cea4
Cleanup and throw exception if bind failed (#12987) 2023-09-01 13:03:33 +08:00
Albumen Kevin 630e14ae40
Fix netty close when init count is 0 (#12737) 2023-07-17 11:35:03 +08:00
Albumen Kevin 271d5eff29
Update minimal reconnect period (#12639) 2023-07-03 10:27:56 +08:00
Albumen Kevin 6ad735d74a
Fix server shutdown await timeout (#12644) 2023-07-03 10:16:14 +08:00
wxbty 3d02e9c789
serialization RpcException bug pr rebase (#12357)
* rebase seri error

* fix style

* wrapper seriation exception by IOException

* fix ci

* use exception

* Multiple encode/decode conversion exceptions

* use wrapper to handle seri exp

* add licence

* move seriExp path

* revert demo

* use static proxy

* fix ci

* fix ci

* Update dubbo-serialization/dubbo-serialization-api/src/main/java/org/apache/dubbo/common/serialize/DefaultSerializationExceptionWrapper.java

Co-authored-by: Albumen Kevin <jhq0812@gmail.com>

* simplefy throwable type

* judge IOException

---------

Co-authored-by: xuziyang <767637918@qq.com>
Co-authored-by: x-shadow-man <1494445739@qq.com>
Co-authored-by: Albumen Kevin <jhq0812@gmail.com>
2023-06-03 14:52:52 +08:00
Albumen Kevin 8c2c672f81
Fix netty4 server close timeout (#12387) 2023-05-23 15:31:39 +08:00
AYue 1671332337
fix: PortUnification+encodeInIOThread=false cause server response empty buffer(#12353) (#12355) 2023-05-20 13:54:29 +08:00
Albumen Kevin 830c460c0a
Fix port unification channel leak (#12212) 2023-04-28 17:14:01 +08:00
Albumen Kevin 7e3064f9b6
Deny allow (#12068)
* Deny allow

* Fix test

* Fix test

* trust metadata info

* trust hessian

* Fix compile

* Fix compile

* Fix test

* Fix test

* Fix test
2023-04-12 00:15:07 +08:00
Albumen Kevin bc85a3f29a
Performance Optimization (#11975) 2023-04-11 16:10:06 +08:00
icodening fe03f26be4
fix the bug of reconnect (#12019) 2023-04-05 18:43:16 +08:00
earthchen 741b7854af
Revert "feat: change default mode (#11653)" (#11973)
This reverts commit feaa530589.
2023-03-30 19:20:08 +08:00
songxiaosheng 4a3172b80a
Fix/dependency cycle (#11919)
* change dependencies

* add license

* Ut change

* Ut remove unused code

* cluster dependency

* formatName method be delete

---------

Co-authored-by: jojocodeX <571943037@qq.com>
2023-03-27 09:46:32 +08:00
aamingaa feaa530589
feat: change default mode (#11653) 2023-03-22 13:25:15 +08:00
Albumen Kevin 0a9b19c306
Exact to support dynamic cert (#11578) 2023-03-08 20:11:07 +08:00
Albumen Kevin d7113006ca Merge branch 'apache-3.1' into apache-3.2 2023-03-06 19:50:19 +08:00
Mengyang Tang a21d04255a
Fix issue 11708 (#11714) 2023-03-06 15:26:15 +08:00
尔等同学 c272af38c6
Reactor some newInstance method (#11686) 2023-03-03 06:43:37 +08:00
suncairong163 02a59e2f40
3.2 consumer proxy invocation handler (#11108)
* add dubbo mvc feign client to support mvc remote call

* add dubbo mvc dispatcher servlet

* add dubbo mvc dispatcher servlet

* add   MvcDispatcherServlet  unit test

* add dubbo mvc feign client to support mvc remote call

* add dubbo mvc dispatcher servlet

* add Dubbo mvc Provider RPCInvocation create

* mvc remove unused code

* remove mvc unused test code

* remove unused code

* BodyProviderParamParser param type modify

* modify pom dependency version

* add  dubbo-metadata-api  dependency

* 新增依赖Jakarta支持 tomcat10

* ApplicationModel load  ParamParser

* ParamParser header & param map convert

* ParamParser header & param map convert

* 1 增加mvc协议
2 删除多余的resource包

* 1 增加mvc协议
2 增加netter server for http

* 重构 NettyHttpClient NettyHttpServer

* add path parse util & requestTemplate

* add mvc consumer http-connection

* mvc change  HttpConnectionPreBuildIntercept name and add SerializeBodyIntercept extend

* 1. 迁移mvc代码到rest下,合并http统一解析逻辑
2. 删除多余新增的remoting 调用模块

* 解决报错

* 1 抽象http 调用
2 改造rest调用风格

* 修改方法命名

* 修改方法名

* 删除多余的clients

* 还原restprotocol,逻辑迁移至新分支  3.2_refactor_rest_protocol

* add provider  PathMatcher

* add   ServiceRestMetadata  PathMatcher

* add   ServiceRestMetadata  PathMatcher

* add jax_rs and mvc annotation class constants

* refactor PathMatcher name

* add annotation class

* maintain rest metadata

* maintain  jax_rs and mvc annotation

* maintain  jax_rs and mvc annotation

* remove mvc module

* remove rest mvc code to code review

* add springmvc & rest annotation api module

* add springmvc & rest annotation api module

* add pathMatcher equal  test

* remove mvc module

* rest provider RPCInvocation build

* RPCInvocation build add dubbo-metadata-api dependency

* RestMethodMetadata add method to consumer service map

* RestMethodMetadata add method to consumer service map

* rest consumer HttpInvokeInvocationHandler

* rest consumer HttpInvokeInvocationHandler

* add dubbo-metadata-api dependency

* dubbo-rpc pom fix

* 移动模块

* 删除模块引用

* consumer metadata  resolve

* RestProtocol consumer

* RestProtocol consumer

* requestConvert adaptive

* JSON serializeObject to outputStream

* JsonUtilsTest  serialize & unSerialize

* ok http client

* http client reconstruct

* rest protocol BaseConvert

* rest protocol  ParamParser reconstruct

* rest protocol  addKeepAliveHeader

* requestTemplate isBodyEmpty()

* remove unused code

* create ConsumerParseContext

* body default byte[0]

* rest http message decode

* writeTextContent &  writeJsonContent & writeFormContent

* remove mvc & rest annotation module

* remove provider code

* fix some pr advice

* Add ASF license header for  newly created files

* move RestClientFactory  code  to dubbo-remoting-http

* exact  request convert code to a factory class

* modify  request convert code

* modify dubbo-dependencies-bom

* modify dubbo-remoting-http pom

* refactor spi  resource file  name

* dubbo-metadata-api remove
dubbo-configcenter-zookeeper dependency for
 cyclic reference

* newly create file add ASF

* fix compile error

* Enhance Code

* add rest protocol ConsumerParamParser

* some fix

* rest json content-type test

* RestProtocol merge doRefer code to protocolBindingRefer

* remove restInvoker

* rest protocol add JsonFactory to support custom

* rest protocol add JsonFactory to support custom

* jaxrs rest ParamNoAnnotatedProcessor  support fix

* add rest http message encode

* add rest http message encode

* rest okHttpClient requestBody fix

* rest jaxrs form content-type support

* RestProtocol protocolBindingRefer reconstruct

* RestProtocol protocolBindingRefer reconstruct  object to invoker & Invocation

* move RequestTemplate to remoting-http

* rest unit test

* add httpclient  & url connection rest client

* Enhance invocation

* enhance

* add ParameterTypesComparator  for metadataMap

* add ASF for new file

* Fix conflict

* Fix header

* fix import

* fix import

* fix import

* fix import

* fix import

* Fix json

* revert some change

* Remove jsonfactory

* Remove jsonfactory

* Simplify rest client

* Fix protocol

* fix codec

* tmp disable test

* rest metadata resolver add  interface judge

* add rest metadata  resolve unit test & fix  AbstractServiceRestMetadataResolver

* org.apache.dubbo.metadata.rest.ParamType null exclude & add default accept header

* RestProtocolTest

refer add context path
unit test

* some fix

* ADD TODO

* RESOLVE HTTP client java.net.SocketException: socket closed

* RESOLVE HTTP client java.net.SocketException: socket closed

* add spring mvc rest protocol unit test

* rest protocol http response code deal

* rest protocol http response message

* fix some review advice

* fix some review advice

* add rest metadata  resolve unit test & fix  AbstractServiceRestMetadataResolver

* org.apache.dubbo.metadata.rest.ParamType null exclude & add default accept header

* RestProtocolTest

refer add context path
unit test

* some fix

* fix some review advice

* add spring mvc rest protocol unit test

* rest protocol http response code deal

* rest protocol http response message

* URLConnectionRestClient getMessage

* remove unused import

* import fix

* code merge

* code merge

* code merge

* code merge

* code merge

* Fix conflicts

* change  restResult InputStream to bytes protect from  fd leak

* merge code

* Fix import

* Fix import

* Fix uts

* Remove unused code

* Fix logger

* Update okhttp version

* Update okhttp version

* rest protocol  add AnotherUserRestService service ut

* rest protocol  add String & byteArray codec

* Fix version

* Fix uts

* rest protocol  add XMLCodec

* stream release

* ServiceRestMetadata port change int to Integer

* service RestMetadata service map init

* xml codec change  for xxe

* Fix import

* code style

* code style

* Fix shade

---------

Co-authored-by: suncr <suncairong@moresec.cn>
Co-authored-by: Liujunjie <42363259+LiujunjieALiling@users.noreply.github.com>
Co-authored-by: junjie3.liu <junjie3.liu@ximalaya.com>
Co-authored-by: Albumen Kevin <jhq0812@gmail.com>
2023-02-22 14:02:16 +08:00
Albumen Kevin b8ea46d038 Merge branch 'apache-3.1' into apache-3.2
# Conflicts:
#	dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/command/DefaultCommandExecutor.java
#	dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/api/ConnectionHandler.java
#	dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/transport/AbstractServer.java
2023-01-04 17:36:49 +08:00
Andy Cheung 34168e6d0e
Merge error code 3-3 to 3-8, 6-4 to 99-0. (#11225)
* Replace LoggerCodeConstants.java with 3.2 branch.

* Add hints in the constant file.

* Add hints in the constant file. (2)

* Merge 3-3 to 3-8.

* 6-4 -> 99-0.

* 6-4 -> 99-0.

* 6-4 -> 99-0.

* 6-4 -> 99-0. (4)

* 6-4 -> 99-0. (5, Compatible)

* Change AbstractH2TransportListener's error code per @EarthChen's request.
2023-01-03 15:03:55 +08:00
Albumen Kevin 2a7dd3dc29
Fix error code in 3.2 branch (#11199)
* Fix error code in 3.2 branch

* Fix error code in 3.2 branch
2022-12-25 20:33:15 +08:00
Albumen Kevin 0df34a1a20
Remove ExtensionLoader getExtension usage (#10971) 2022-12-22 10:02:22 +08:00
nannanfighting 029b15fa16
optimization-netty-server (#11123) 2022-12-13 15:41:57 +08:00
shanuo ee9a3d53d4
ssl abstract and remoteapi remove netty (#11099) 2022-12-12 14:35:13 +08:00
Albumen Kevin 5c082eaefa Merge branch 'apache-3.1' into apache-3.2
# Conflicts:
#	dubbo-native/src/main/java/org/apache/dubbo/remoting/api/pu/PortUnificationTransporter$Adaptive.java
#	dubbo-rpc/dubbo-rpc-dubbo/src/main/java/org/apache/dubbo/rpc/protocol/dubbo/DecodeableRpcInvocation.java
#	dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/call/AbstractServerCallListener.java
2022-12-08 17:44:11 +08:00
huazhongming 9713ad64b3
fix ssl npe (#11093) 2022-12-08 16:04:28 +08:00
Albumen Kevin 0d2cab47c9
Enhance isolate executor (#11069) 2022-12-06 09:58:27 +08:00
Albumen Kevin 1efe576197 Merge branch 'apache-3.1' into apache-3.2
# Conflicts:
#	dubbo-common/src/test/java/org/apache/dubbo/common/utils/JsonUtilsTest.java
#	dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/migration/model/MigrationRuleTest.java
#	dubbo-remoting/dubbo-remoting-api/src/test/java/org/apache/dubbo/remoting/api/ConnectionTest.java
#	dubbo-remoting/dubbo-remoting-api/src/test/java/org/apache/dubbo/remoting/api/MultiplexProtocolConnectionManagerTest.java
#	dubbo-remoting/dubbo-remoting-api/src/test/java/org/apache/dubbo/remoting/api/SingleProtocolConnectionManagerTest.java
#	dubbo-remoting/dubbo-remoting-netty4/src/test/java/org/apache/dubbo/remoting/transport/netty4/NettyChannelTest.java
#	dubbo-remoting/dubbo-remoting-netty4/src/test/java/org/apache/dubbo/remoting/transport/netty4/PortUnificationExchangerTest.java
#	dubbo-rpc/dubbo-rpc-triple/src/test/java/org/apache/dubbo/rpc/protocol/tri/TripleInvokerTest.java
#	dubbo-rpc/dubbo-rpc-triple/src/test/java/org/apache/dubbo/rpc/protocol/tri/transport/WriteQueueTest.java
2022-11-22 14:23:29 +08:00
conghuhu 734c9c3f4a
feat: decoupling WireProtocol by netty (#10976) 2022-11-22 11:27:08 +08:00
Albumen Kevin 143d61d3e2
Remove public modifier in dubbo-remoting (#10981) 2022-11-22 11:05:42 +08:00
shanuo a19e25d394
ssl netty4 (#10948) 2022-11-18 10:06:57 +08:00
conghuhu 285d70c26a
feat: Client decoupling of Connection and Netty (#10819) 2022-11-16 10:55:37 +08:00
huazhongming 1ab253a1b2
Port Unification is disabled by default, and the spi key implemented by Netty4 port unification is changed (#10894) 2022-11-15 10:26:35 +08:00