Commit Graph

539 Commits

Author SHA1 Message Date
Zhaohui Yu
a273705b8d
[issue #10148]Replace sync forward request with async request (#10158)
* Replace sync forward request with async request in DistroFilter. issue #10148

* extract method for config default headers

* add env switch for async distro forward.

* Fixed code review problems:
1. Move async forward switch from sys module to naming module.
2. use nacos code style to format code.

* Fixed nacos code checkstyle:
1. one import per Class
2. add javadoc

* In order to avoid additional overhead, move switch from GlobalConfig to ClientConfig and cache the env switch.

* Move switch from ClientConfig to DistroConfig.

* Removed unused import.

* Add test for async forward for DistroFilter

* Add license

* rename test method name

* Should enable async forward

* fixed test

* set async forward request switch to true in test

* fixed test: create and set property with MockEnvironment

* fixed check style

* move MockEnvironment init to BeforeClass

* add setter for asyncForwardRequest switch
2023-04-20 20:10:26 +08:00
杨翊 SionYang
b3b5236cd4
Develop synced from 2.2.2 (#10307)
* Fix dynamic change token to illegal value will use old token.

* Add description in pom for release.

* Upgrade to 2.2.2

* Upgrade to 2.3.0-SNAPSHOT
2023-04-11 17:34:06 +08:00
nov.lzf
c519922280
取消默认openssl (#10276)
* 取消默认openssl

* 连接上下文标签中添加tls.enable

* test fix

* checkstyle
2023-04-07 14:56:13 +08:00
varyuan
2dde125a51
clean code (#10180)
* clean code

* clean code

* clean code

* clean code
2023-03-29 14:25:22 +08:00
chenyiqin
e002cefb6e
Fix fs char (#10101)
* Add PathEncoder for OS to encode if dataId, ns, group contains illegal char for file system

* Add copyright

* Fix checkstyle

* Fix pmd

* fix PathEncoderManager as singleton

* fix ut

* fix checkstyle
2023-03-27 15:04:20 +08:00
nov.lzf
c39ba4a35c
ssl context reload spi (#10150) 2023-03-21 15:27:57 +08:00
云野
6bcae29cc5
add unit tests for AbstractObjectUtils. (#10138)
add unit tests for AbstractAssert.
add unit tests for GrpcUtils.
2023-03-21 13:48:21 +08:00
githubcheng2978
214e0c9077
nacos grpc connection supports TLS Encryption (#9980)
support tls encryption on grpc transport on client and server side

---------

Co-authored-by: githubcheng2978 <yeliang.cheng@freemud.com>
2023-03-15 09:41:25 +08:00
t8g
74b81be92c
fix:Utility classes should not have public constructors (#10019) 2023-03-06 09:39:43 +08:00
WangLiang/王良
a397c10a54
Optimize the nacos-client/pom.xml for exclude google/**/*.proto (#9982)
* Optimize the pom.xml of the nacos-client

* optimize pom

* exclude `google/**/*.proto`

* tab

* Remove dependency `io.grpc:protoc-gen-grpc-java:${version}:pom`

* revert indent

* revert native-image
2023-03-01 09:42:15 +08:00
胡俊
579571ceb3
[ISSUE #9860] abstract the nacos logback configurator to solve the problem between different version (#9934)
* logback update

* update comment

* ident update

* comment update

* judge version

* remove logback-adapter
2023-02-22 11:20:46 +08:00
t8g
90bfe0af9e
Fixed some minor bugs in CollectionUtils.java (#9989)
* fix:CollectionUtils下for循环中的字符串拼接改用StringBuilder

* fix:The LinkedHashSet in CollectionUtils.java lacks a generic

* docs:a is used before a consonant; an is used before a vowel
2023-02-22 11:17:36 +08:00
ZhangShenao
815197cdf1
[ISSUE #9930] fix word spelling error in com.alibaba.nacos.common.http.AbstractHttpClientFactory#ASYNC_IO_REACTOR_NAME (#9931)
* code optimization for `ConfigChangeHandler`

* [ISSUE #9930] fix word spelling error in com.alibaba.nacos.common.http.AbstractHttpClientFactory#ASYNC_IO_REACTOR_NAME
2023-02-13 09:45:59 +08:00
xzxiaoshan
41f03fea0f
[ISSUE#9730] 对多数据源插件代码进行调整(向前兼容) (#9784)
* Upgrade to 2.2.1-RC (#9741)

* 补充处理所有 tenantId

* 补充处理 tenantId

* 处理tenantid,内部类引用的变量不能被修改,换个变量名

* 新增支持:nacos 默认的 tenant/namespaceId 为空字符串,自 nacos 2.2.0 版本起开始支持多数据源插件,为空的 ID 会在 oracle 数据库适配中出现问题 ( where tenantid = '' ),本次修改对以往程序不产生影响。

* 固定填充的ID为public,完全自定义没有太大意义,目的是在保证默认id不为空,可选填充,不配置默认照旧

* fix bug

* 将通用的SQL提取到Mapper接口中,这样能很大的降低不同数据库需要重写的SQL的量,同时避免了大量的重复代码问题。

* 将原来sql中固定写死的 tenant_id = ''  修改为 tenant_id =  NamespaceUtil.getNamespaceDefaultId() 。暂时没深究为什么不用问号动参而是固定写死。

* 方法提取到 mapper 接口中,顺便解决了多余 paramList 定义的(虽然这个方法好像已经弃用)

* 方法迁移到接口默认实现中

* 恢复 publci id 默认值为空值 "",等以后决策好使用默认值为 "public" 时,再设置 NAMESPACE_PUBLIC_ID_DEFAULT="public" 即可。

* 回滚 Controller 层对 tenant_id 的处理,另起PR讨论和修改。

* code style

* 变量名称和注释未通过 checkStyle 检查,按规范调整。

* nacos check style 修改,无代码变动

* fix code

* fix checkstyle

* fix checkstyle 去除多余的 return

* fix pmd

* fix test unit bug

* 因为将sql提取到 mapper 接口中,一些不影响sql语句运行的sql,有空格等差异,出现了test用例差异问题,逐个处理。比如(where a =? 和 where a= ?)

Co-authored-by: 杨翊 SionYang <xiweng.yy@alibaba-inc.com>
2023-01-16 16:14:29 +08:00
云野
732e7012ab
Provide more configuration items to allow users to customize their grpc services to better optimize network performance. (#9806) 2023-01-11 09:47:15 +08:00
gongzhongqiang
708387c277
fix:replace nacos website url to https. (#9797) 2023-01-10 09:47:52 +08:00
zz630
20145fd256
enhancement: CloseableHttpAsyncClient does not clean up expired and i… (#9727)
* enhancement: CloseableHttpAsyncClient does not clean up expired and invalid connections (#9708)

* enhancement: CloseableHttpAsyncClient does not clean up expired and invalid connections (#9708)

* style:satisfy style/NacosCheckStyle.xml

* add unit test(#9708)

* Revert "add unit test(#9708)"

This reverts commit 939905cb56f30af4d0ec35543d6d630f0777eb98.

* add unit test
2023-01-05 10:04:27 +08:00
nov.lzf
69047073c6
修改长连接request response 类注册逻辑,由类扫描改成手动注册 (#9738)
* 修改request response 类加载逻辑,有类扫描改成手动注册

* 优化注册方式,直接SPI注册payload
2022-12-21 19:56:21 +08:00
nov.lzf
acc8ab46cf
Refactor connection limit module to plugin (#9653)
* 限流插件提交

* 限流插件提交

* 限流插件提交

* 限流插件重构提交

* connection control test case submit

* tps control test case submit

* tps control test case submit

* tps control test case submit

* exact model has higher priority

* exact model has higher priority

* tpsreporter

* tpsreporter

* tpsreporter

* check style

* log optimize

* interceptor

* checkstyle

* tps check

* configController query http

* rename component

* 优化参数命名

* 优化参数命名

* 优化参数命名

* 优化参数命名

* optimize connection manager

* optimize connection manager

* optimize connection manager

* optimize connection manager

* interceptor to mse

* Monitor Model

* Monitor Model

* revert opensource tps ability

* revert opensource tps ability

* revert opensource tps ability

* revert opensource tps ability

* revert opensource tps ability

* revert opensource tps ability

* opensource submit

* opensource submit

* check style

* check style

* pmd ,rat

* update db params

* test case fix

* 简化开源反脆弱实现

* test case

* test  case fix

* 修复单测

* 修复单测

* 修复单测
2022-12-06 16:15:51 +08:00
elsez
e23ec89892
perf: Code optimization points (#9552)
* perf: Replace the dead loop with while

* perf: Jump statements should not be redundant

* Update CredentialWatcher.java

Co-authored-by: elsez <67528597+zhantiao@users.noreply.github.com>
2022-11-22 15:29:07 +08:00
Bharati Kulkarni
66c3899ecb
[ISSUE #9643] Fixed Possible JSON Ordering Permutations Problem in Tests (#9505)
* Fixed Flaky Test

* Fix Updated
2022-11-17 11:40:36 +08:00
Weizhan Yun
506bc26f4d
[ISSUE #9393] 设置线程为守护线程,保证在main线程推出时应用程序能过正常关闭。 (#9396)
* 设置线程为守护线程,保证在main线程退出时应用程序能过正常关闭。

* graceful shutdown naming executetask engine.
2022-11-03 13:44:00 +08:00
KomachiSion
f56dedc7fe Fix sync connection client not removed. 2022-10-27 12:11:06 +08:00
KomachiSion
8410fbccf3 Merge remote-tracking branch 'upstream/2.2.0' into asoc2022_issue#8461
# Conflicts:
#	config/src/main/java/com/alibaba/nacos/config/server/controller/ConfigController.java
2022-10-25 14:52:32 +08:00
Liu Yixiao
03345fd923
[ISSUE #8461] Enhance Nacos monitor observability system (#9038)
* Enhance MetricsMonitor with several new metrics

* Add config read and write rt

* Add ServiceEvent publisher queue size

* Add fuzzy search count

* Add naming subscriber and publisher count with v1 or v2 version tag

* Add config subscriber count with v1 or v2 version tag

* Add pending push task count and empty push count metrics

* collect pending push task count by scheduled task

* add unit test for increment metrics in NacosMonitorPushResultHook

* Add topn counter container and topn config change

* Create private MeterRegistry for config change

* Add scheduled clear for config change count, add removeAll for TopnCounterMetricsContainer

* Add topn service change

* Reconstruct metrics monitor with NacosMeterRegistryCenter.

* divide globalRegistry to different modules' CompositeMeterRegistry

* Add dynamic meters refresh service for config and naming module

* fix unit test

* Add try catch when init NacosMeterRegistryCenter
2022-10-25 11:31:29 +08:00
KomachiSion
696d489423 Merge remote-tracking branch 'upstream/2.2.0' into 2.2.0-summer#8312
# Conflicts:
#	plugin/pom.xml
2022-10-24 15:37:47 +08:00
BoyuLi4
68811a7ad9
Update JacksonUtilsTest.java (#9340) 2022-10-21 09:43:54 +08:00
胡俊
0bd589cb6d
[ISSUE#8857] collect client info (#9202)
* collect client info #8857

* collect client info #8857

* collect client info #8857

* collect client info #8857

* collect client info #8857

* collect client info #8857
2022-10-19 09:40:34 +08:00
杨翊 SionYang
b1ac88be78
[ISSUE#8481] Add Trace Event SPI for Naming. (#9336)
* Add Trace plugin spi.

* Add NacosCombinedTraceSubscriber

* Subscribe NamingTraceEvent when start up cluster.

* Fix test error.
2022-10-18 09:30:37 +08:00
杨翊 SionYang
ee3ae0034f
Fix #9269, RpcClient support parse ipv6 address. (#9312) 2022-10-13 09:45:22 +08:00
ruansheng
71d7d36951
[ISSUE #9227] fix subscriber scopeMatches (#9233) 2022-09-28 16:21:09 +08:00
杨翊 SionYang
45165f7c06
[ISSUE#8650] Make cluster/report both receive and send metadata. (#9228)
* cluster/report api return self information.

* Update metadata when received report response.

* Add UT for handle report member info response.

* For checkstyle.
2022-09-28 14:43:14 +08:00
Pixy Yuan
04fe7eab2f
Support client hash revision for DISTRO (#9214)
* [ISSUE #9210] Using hash as ephemeral clients' revision for DISTRO verification.

* [ISSUE #9210] Improve performance of ephemeral client hash calc.

* [ISSUE #9210] Remove calculation for ephemeral client's subscribers.

* [ISSUE #9210] Persist and sync revision for clients.

* [ISSUE #9210] Improve hash of ephemeral client.

* [ISSUE #9210] Improve performance of hash calc for clients.

* [ISSUE #9210] Make distro verification compatible with zero revision from old servers.

* [ISSUE #9210] Log clientId when VERIFY-FAILED.

* [ISSUE #9210] Fix long class cast exception to REVISION.

* [ISSUE #9210] Just renew clients when verify v2 clients on v1 mode.

* [ISSUE #9210] Add UTs for ephemeral client verification.

* [ISSUE #9210] Fix codestyle.

* [ISSUE #9210] Fix IpPortBasedClientTest.

* [ISSUE #9210] Fix codestyle.

* [ISSUE #9210] Fix license.

* [ISSUE #9210] Fix ConcurrentHashSetTest cases to verify concurrent modification properly.

* [ISSUE #9210] Fix codestyle.
2022-09-28 13:56:33 +08:00
KomachiSion
a2b997f6a7 Fix print logs for NamingTraceEvent. 2022-09-22 13:58:18 +08:00
KomachiSion
b7f25e07d2 For checkstyle. 2022-09-07 11:57:31 +08:00
KomachiSion
1e9b18cd75 only load grpc config from system one time. 2022-09-07 11:53:15 +08:00
KomachiSion
3d7bda84f7 Rename DefaultClientConfig > DefaultGrpcClientConfig 2022-09-07 10:21:36 +08:00
KomachiSion
fb71b4ccd9 Refactor DefaultClientConfig for readability. 2022-09-07 09:59:34 +08:00
Karson
b36e6a50ab
[ISSUE #9013] Enhance Rpc config related to one RpcClientConfig (#9093)
* enhance rpc config related to one RpcClientConfig

* modify rpcclient unit test

* modify rpcclient unit test

* modify rpcclient unit test

* add RpcClient constructor with properties.

* modify some unit test
2022-09-07 09:43:45 +08:00
阿魁
b8bd1cb90d
Fix the actual number of health check retries less than the set one. (#9080)
* Fix the actual number of health check retries less than the set one.

* update testHealthCheck.
2022-09-06 09:53:06 +08:00
Karson
0aa695e0d3
Add configurable for GrpcClient health check retry times (#9056)
* add configurable for GrpcClient health check retry.

* add some unit test for GrpcClient health check retry.

* reformat code style

* some grpc params move to GrpcConsts

* add GRpcConfigLabel

* reformat style

* reformat style

* reformat style

* reformat style

* reformat style
2022-09-02 15:48:14 +08:00
MajorHe1
44538d1313
[ISSUE #8934] add header back after convert request to jsonBytes (#8935) 2022-08-30 10:27:33 +08:00
Karson
9819820b14
[ISSUE #9013] enhance grpc client (#9017)
* fix issue #9013

* reformat code style

* reformat code style

* reformat code style

* reformat code style

* reformat code style

* reformat code style

* reformat code style

* change config name

* do some enhance

* add queue size to configProperties

* reformat code style

* Change configuration load order
2022-08-29 10:04:24 +08:00
chenhao26
3c8c6a7a14
add some utils UT (#9006)
add some utils UT
2022-08-22 15:43:22 +08:00
刘邵宇 ShaoyuLiu
3f75b3a2c5
[ISSUE #8993]Close input stream and output stream by try with resource[nacos-common] (#8997)
* [ISSUE #8993]Close input stream and output stream by try with resource[nacos-common]

* [ISSUE #8993]Close input stream and output stream by try with resource[nacos-common]

* [ISSUE #8993]Close input stream and output stream by try with resource[nacos-common]
2022-08-22 09:40:53 +08:00
Karson
3839cdc307
add unit test for ReflectUtils (#8999)
* add unit test for ReflectUtils

* reformat code
2022-08-22 09:38:01 +08:00
shiherua
ec134a3bc4
Improve code specifications. (#8965)
Flip the call to equals method to avoid null pointer exception.
2022-08-17 14:11:29 +08:00
liushaoyu-soft
474b25dff5
Update IoUtils.java (#8948)
An IOException has been catch,so throws IOException Is invalid
2022-08-12 16:42:38 +08:00
liushaoyu-soft
0c61c5d5eb
[ISSUES#8905]simplify some code (#8908) 2022-08-11 14:32:50 +08:00
ZhangShenao
5a9b1e961f
Add Generic Type for Simple Cache Map (#8812) 2022-08-01 15:33:54 +08:00