Commit Graph

591 Commits

Author SHA1 Message Date
孙继峰
4c1175acf0
add retryTimes check (#6594) 2021-08-09 10:05:42 +08:00
孙继峰
f91089eb90
[ISSUE #6595] Optimize RpcClient (#6596)
* replace explicit type argument with <>

* replace anonymous class with lambda

* remove redundant initializer

* format comment & log and fix typo

* add unit test to RpcClient::resolveServerInfo

* extend CollectionUtils::getOrDefault

* simplify RpcClient::resolveServerInfo

* remove unused variable
2021-08-09 09:42:37 +08:00
孙继峰
4a134b233c
add unit test to RpcClient (#6584) 2021-08-06 11:06:30 +08:00
ZZQ的
ca89efb620
remove guava Iterables (#6563) 2021-08-05 09:37:08 +08:00
ZZQ的
1119d0336f
Replace "ThreadFactoryBuilder" API with jdk API and add unit test (#6532) 2021-08-04 13:56:26 +08:00
ZZQ的
449480f68b
Refactor the cache to replace guava (#6520)
* Refactor the cache to replace guava

* Refactor CacheBuilder

* add unit test

* Format code
2021-08-03 09:30:26 +08:00
ZZQ的
b0f7bfbba7
replace "google.common.base.Preconditions" API with jdk API (#6502)
* replace "google.common.base.Preconditions" API with jdk API

* delete static method import "lenitentFoment"

* add unit test
2021-07-30 16:35:46 +08:00
ZZQ的
a729001ec5
[Reduce dependence]>[Sets] Replace "google.common.collect.*" API with… (#6445)
* [Reduce dependence]>[Sets] Replace "google.common.collect.*" API with jdk API

* delete empty line separator
2021-07-30 16:32:38 +08:00
ZZQ的
9beaacbc54
[Reduce dependence]>[Maps] Replace "google.common.collect.*" API with jdk API (#6443) 2021-07-29 10:46:22 +08:00
孙继峰
e3c9fcf2d7
[ISSUE #5095] Add unit test for RpcClientFactory (#6471)
* fix typo

* Add unit test for RpcClientFactory
2021-07-27 18:00:43 +08:00
ZZQ的
838a62cc4a
Replace "google.common.collect.Strings" API with jdk API (#6464) 2021-07-27 13:53:52 +08:00
ZZQ的
47c6706a63
[Reduce dependence]>[Lists] Replace "google.common.collect.*" API wit… (#6404)
* [Reduce dependence]>[Lists] Replace "google.common.collect.*" API with jdk API

* use elements.size to init the array length

* Replace IllegalArgumentException with NullPointerException

* Refactor CollectionUtilsTest#list()

* Add exception message

* update annotation

* update unit test method name
2021-07-27 13:47:41 +08:00
brotherlu-xcq
2b186bc3fe
[ISSUE #6367] Add IOReactorExceptionHandler to avoid IOReactor out of loop when meet unknown Network error. (#6441)
* Add IOExceptionHandler to handle the Exception form IOReactor.

* remove the systemProperties for create ConnectionManager.

* fix the javadoc.
2021-07-27 09:29:58 +08:00
ZZQ的
c52589fd03
[Reduce dependence]>[Iterators] Replace "google.common.collect.*" API with jdk API (#6447) 2021-07-26 09:29:43 +08:00
孙继峰
c464f7c8c0
[ISSUE #5095] Add unit test for TlsFileWatcher (#6453)
* Add unit test for TlsFileWatcher

* replace explicit type argument with <>

* replace anonymous Runnable with lambda

* 'catch' parameter named 'ignored' is used

* adjust log style
2021-07-26 09:26:52 +08:00
孙继峰
727446c022
[ISSUE #5095] Add unit test for SelfHostnameVerifier (#6428)
* replace the variable with a constant

* [ISSUE #5095] Add unit test for SelfHostnameVerifier
2021-07-23 10:38:33 +08:00
孙继峰
7587bf7685
[ISSUE #5095] Add unit test for JacksonUtils (#6415) 2021-07-22 09:57:26 +08:00
hunjipo
cdc276e829
To slightly improve performance, this commit switches to StringBuilder.append(char) instead of StringBuilder.append(String) whenever we append a single character to a StringBuilder. (#6300) 2021-07-12 13:51:14 +08:00
孙继峰
f326a0c543
[ISSUE #5095] Add unit test for ClassUtils (#6327)
* fix typo

* add unit test for ClassUtils
2021-07-12 09:45:35 +08:00
ZZQ的
98e1e72ed9
[issue #6284][naming module] replace *commons.lang3*.*Utils to com.al… (#6291)
* [issue #6284][naming module] replace *commons.lang3*.*Utils to com.alibaba.nacos.common.utils.*Utils

* add StringUtils.split() function

* Replace NumberUtils.isNumber()  -> NumberUtils.isDigits()
2021-07-12 09:16:57 +08:00
ZZQ的
b9e388bff9
[core module] replace *commons.lang3*.*Utils to com.alibaba.nacos.com… (#6288)
* [core module] replace *commons.lang3*.*Utils to com.alibaba.nacos.common.utils.*Utils

* Use StringUtils replace jdk String method.

* Fix error logic.
2021-07-08 15:13:34 +08:00
孙继峰
26caf8e97a
[ISSUE #5095] Add unit test for ConvertUtils (#6269)
* 100% cover ConvertUtils

* delete dead code

* simplify code
2021-07-08 15:09:38 +08:00
孙继峰
97abc6dd72
[ISSUE #5095] Add unit test for CollectionUtils (#6251) 2021-07-02 17:55:52 +08:00
ZZQ的
afb512b476
[ISSUE #6240] Add TypeUtils/TypeUtilsTest (#6247) 2021-07-02 17:55:15 +08:00
ZZQ的
2d40c5225b
[ISSUE #6241] Add DateFormatUtils、DateFormatUtilsTest (#6245)
* [ISSUE #6241] Add DateFormatUtils、DateFormatUtilsTest

* Format code
2021-07-02 17:53:19 +08:00
ZZQ的
119a193ba9
[ISSUE #6228] Add RandomUtils/RandomUtilsTest (#6243)
* [ISSUE #6228] Add RandomUtils/RandomUtilsTest

* [ISSUE #6228] Canonical code
2021-07-02 17:52:41 +08:00
ZZQ的
888f50b5e4
Add NumberUtils、NumberUtilsTest;Modify NumberUtil dependency (#6227)
* Add NumberUtils、NumberUtilsTest;Modify NumberUtil dependency

* delete "isNumber" function

* [ISSUE #6221] Canonical code
2021-07-02 17:46:32 +08:00
ZZQ的
80078ae8ee
[ISSUE#3102] nacos-common module ArrayUtils、StringUtils (#6211)
* add ArrayUtils and TestClass

* modified StringUtils for remove common-lang3

* add Comment for StringUtils, Completion unit test

* fix variable name error and erro test

* Optimize the code.

* Edit author
2021-07-01 14:28:49 +08:00
孙继峰
16734cdec9
[ISSUE #5095] Add unit test for InternetAddressUtil (#6222)
* add unit test to InternetAddressUtil

* inline variable

* simplify assert
2021-07-01 11:33:21 +08:00
孙继峰
f36556657f
[ISSUE #6197] Use java.util.Objects instead of com.alibaba.nacos.common.utils.Objects (#6218) 2021-07-01 11:32:34 +08:00
ZZQ的
4cd6c58a95
[ISSUE #6198] BUG nacos-common>utils>StringUtils.join method NullPointerException #6198 (#6213)
* [ISSUE #6198] fix bug

* format code

* Modify Comment.Remove toString()
2021-06-30 19:13:40 +08:00
孙继峰
8dcf38f65b
[ISSUE #5095]Add unit test for VersionUtils (#6195)
* replace with try with resource

* replace with lambda

* add unit test

* inline variable
2021-06-30 10:18:29 +08:00
赵延
3fd77bc7e0
If the client already disconnect, ignore this request to avoid NPE. (#6175)
* if the client already disconnect, ignore this request to avoid npe.

* unify code with DistroClientDataProcessor.

* print warn info when client already disconnect.

* transfer client check logic to method.

* if client is not ephemeral, is illegal.
2021-06-30 10:15:06 +08:00
杨翊 SionYang
f2676bc6ca
[ISSUE#6129] Add ServerConfigChangeEvent when config file changed. (#6130)
* Add ServerConfigChangeEvent when config file changed.

* Upgrade config after notify ServerConfigChangeEvent
2021-06-22 14:39:37 +08:00
孙继峰
fb3e5ad290
simplify Assert (#6095) 2021-06-17 19:17:37 +08:00
realJackSun
7f1f917839
[5989] Fix unit tests in nacos-common (#5994) 2021-06-08 13:24:48 +08:00
Pixy Yuan
4cbc6a4960
[ISSUE #5952] Feature make naming rpc client aware of server list change (#5974)
* [ISSUE #5952] Optimize rpcClient creation lock.

* [ISSUE #5952] Make naming rpc client aware of server list change.
2021-06-07 20:07:39 +08:00
nov.lzf
de6a4b803d
client aware server list change (#5952) 2021-06-04 19:34:38 +08:00
nov.lzf
55c6f44413
fix query sla multi connection model ;add rpc client error log; optimize client shutdown (#5949)
* fix multi connection model ,query sla

* add rpc client error log

* optimize client shutdown

* optimize client log
2021-06-04 15:27:32 +08:00
nov.lzf
3dc1a8cd96
fix ak sk and some tiny optimize (#5937)
* fix ak bug.

* fix ak bug.

* revert version
2021-06-04 09:41:40 +08:00
杨翊 SionYang
1d5a6605ee
[ISSUE#5918] Refactor event publisher in naming module to fix event without orders. (#5930)
* Rollback #5778.

* Add method to register custom sharded event publisher

* Make naming module event use custom sharded publisher
2021-06-03 12:53:29 +08:00
李晓双 Li Xiao Shuang
e199a5ee64
[ISSUE #5774] improve the code quality for naming core (#5914)
* mprove the code quality for naming core

* fix build
2021-06-03 09:59:52 +08:00
孙继峰
15c71831e7
[ISSUE #5765] fix localhost not match ip (#5852)
* rename IPUitl to InternetAddressUtil

* move isDomain to InternetAddressUtil

* [ISSUE #5765] fix localhost not match ip

* fix typo

* delete the verification IP, follow the single responsibility principle
2021-05-27 19:01:39 +08:00
xiaoheng1
6831de3111
Publisher code optimization (#5778)
* fix #5762 Publisher code optimization

* there is no subscriber, return directly.
2021-05-25 09:28:51 +08:00
brotherlu-xcq
f9d696beb4
[code quality] [nacos-common] [tls/utils] remove unnecessary symbol, export constant in class, change the Chinese javadoc to English (#5821) 2021-05-24 14:15:11 +08:00
brotherlu-xcq
4dafe6fa86
[code quality] [nacos-common] [remote/spi] remove unnecessary symbol, export constant in class. (#5820) 2021-05-24 14:10:38 +08:00
brotherlu-xcq
5089af1a1e
[code quality] [nacos-common] [notify/http] remove unnecessary symbol, export constant in class. (#5819) 2021-05-24 14:05:28 +08:00
KomachiSion
cf5a171ac5 Merge remote-tracking branch 'upstream/develop' into feature_support_grpc_core
# Conflicts:
#	NOTICE
#	api/pom.xml
#	common/src/main/java/com/alibaba/nacos/common/notify/DefaultPublisher.java
#	config/src/main/java/com/alibaba/nacos/config/server/service/LongPollingService.java
#	naming/src/test/java/com/alibaba/nacos/naming/consistency/persistent/impl/NamingSnapshotOperationTest.java
#	naming/src/test/java/com/alibaba/nacos/naming/core/DomainsManagerTest.java
#	naming/src/test/java/com/alibaba/nacos/naming/healthcheck/ClientBeatCheckTaskTest.java
#	pom.xml
#	test/src/test/java/com/alibaba/nacos/test/core/JacksonUtils.java
2021-05-14 11:04:52 +08:00
孙继峰
4ecf293fa7
[ISSUE #5704] adjust code style (#5705) 2021-05-14 10:07:52 +08:00
孙继峰
7ed7b45772
[ISSUE #5538] fix test case fail (#5620) 2021-05-14 09:38:20 +08:00
孙继峰
818d37b71c
delete duplicated dependency (#5622) 2021-05-10 10:43:58 +08:00
wql
a713203c66
IPv6 and IPv4 check rules are optimized. splitIPPortStr method adds IPv4 check, and the optimized method does not affect the startup of container environment (#5514)
* The IPv6 judgment logic in this method will obtain IP address according to the host. In the container environment, K8S has not allocated IP to this pod, and then the judgment will report an error. After finding this problem, I gave feedback to remove the IPv4 judgment, but this problem still exists in IPv6. Suggested to remove the verification logic can be in other ways to optimize.

* Revert "The IPv6 judgment logic in this method will obtain IP address according to the host. In the container environment, K8S has not allocated IP to this pod, and then the judgment will report an error. After finding this problem, I gave feedback to remove the IPv4 judgment, but this problem still exists in IPv6. Suggested to remove the verification logic can be in other ways to optimize."

This reverts commit a112e52

* Both IPv4 and IPv6 validation rules adopt regular validation. In order to prevent the container from adding domain name rule validation in the case of domain name resolution deployment, the logic of removing Chinese slogan should be added before the rule validation in IPv6.

* Optimize and add licenses according to Ali's protocol

* The isDomain method is changed to validate only rules

* Format to optimize
2021-04-30 09:14:08 +08:00
brothelul
d65453f163
format the code in DefaultPublisher.java, log.error and @Override issue (#5515) 2021-04-29 18:57:20 +08:00
KomachiSion
2847373fd0 Solve conflict 2021-04-27 16:19:56 +08:00
KomachiSion
92da848375 Merge remote-tracking branch 'upstream/develop' into merge-1.X-to-2.0
# Conflicts:
#	client/src/main/java/com/alibaba/nacos/client/config/NacosConfigService.java
#	client/src/main/java/com/alibaba/nacos/client/config/impl/CacheData.java
#	client/src/main/java/com/alibaba/nacos/client/config/impl/ClientWorker.java
#	client/src/main/java/com/alibaba/nacos/client/naming/core/PushReceiver.java
#	console/src/main/resources/static/css/main.css
#	console/src/main/resources/static/js/main.js
#	naming/src/main/java/com/alibaba/nacos/naming/core/SubscribeManager.java
#	naming/src/test/java/com/alibaba/nacos/naming/core/SubscribeManagerTest.java
#	test/src/test/java/com/alibaba/nacos/test/BaseTest.java
2021-04-27 15:57:24 +08:00
孙继峰
da3a1ea796
[ISSUE #5380] Use assert instead of System.out (#5472)
* use assert instead of System.out

* move test case, there is no file named ParamCheckUtil.java
2021-04-25 10:03:28 +08:00
孙继峰
3ce1cbab8b
fix #5390 (#5391) 2021-04-19 10:56:43 +08:00
杨翊 SionYang
73eea9c0bb
Use ThreadUtil and EnvUtil replace Runtime.availableProcessor (#5388) 2021-04-16 17:32:14 +08:00
xiaoheng1
acb02f6bf3
[ISSUE #5370]Modify the Chinese comments in MD5Utils to English (#5371)
* fix #5370 Modify the Chinese comments in MD5Utils to English

* code format
2021-04-16 11:00:11 +08:00
KomachiSion
51cc2b1b4b Merge remote-tracking branch 'upstream/develop' into feature_support_grpc_core
# Conflicts:
#	client/src/main/java/com/alibaba/nacos/client/config/NacosConfigService.java
#	client/src/main/java/com/alibaba/nacos/client/config/impl/CacheData.java
#	client/src/main/java/com/alibaba/nacos/client/config/impl/ClientWorker.java
#	client/src/test/java/com/alibaba/nacos/client/config/common/GroupKeyTest.java
#	common/src/test/resources/META-INF/services/com.alibaba.nacos.common.spi.SpiTestInterface
#	config/src/main/java/com/alibaba/nacos/config/server/controller/ConfigServletInner.java
#	console/src/main/resources/static/css/main.css
#	console/src/main/resources/static/js/main.js
#	istio/src/main/java/com/alibaba/nacos/istio/mcp/NacosMcpService.java
#	naming/src/main/java/com/alibaba/nacos/naming/controllers/ApiController.java
#	naming/src/main/java/com/alibaba/nacos/naming/controllers/CatalogController.java
#	naming/src/main/java/com/alibaba/nacos/naming/push/PushService.java
2021-04-13 14:28:30 +08:00
杨翊 SionYang
e689c1a3a1
Remove blocked thread for Protocol metadata (#5354) 2021-04-13 14:12:19 +08:00
Wu Zhiguo
9bcb901174
Fix some typo (#5260)
* fix some typo

* rollback some comment format
2021-04-03 12:57:57 +08:00
nov.lzf
46179d6664
fix cluster reconnection bug. (#5265) 2021-04-01 18:45:23 +08:00
杨翊 SionYang
d146e057c4
Fix ThreadPool usage problem and add some monitor for distro (#5237) 2021-03-30 16:27:41 +08:00
nov.lzf
a6a254a1c0
fix thread pool (#5233)
* fix thread pool

* fix log
2021-03-29 21:31:06 +08:00
赵延
cb289d31f7
fix thread name generate strategy. (#5139) 2021-03-23 09:25:35 +08:00
nov.lzf
9bb08d9f4d
remote reconnect bugfix (#5136)
* remote reconnect bugfix

* remote reconnect bugfix
2021-03-19 09:30:08 +08:00
KomachiSion
bd4b63d834 Merge remote-tracking branch 'upstream/feature_support_grpc_core' into develop-merge-to-2.0 2021-03-18 13:38:35 +08:00
nov.lzf
5fc13e9654
add client ip (#5134)
* add client  ip

* checkstyle fix

* wait to register connection setup
2021-03-18 13:22:10 +08:00
KomachiSion
6cda5ad55a Merge remote-tracking branch 'upstream/develop' into develop-merge-to-2.0
# Conflicts:
#	client/src/main/java/com/alibaba/nacos/client/naming/core/HostReactor.java
#	client/src/main/java/com/alibaba/nacos/client/naming/remote/http/NamingHttpClientProxy.java
#	client/src/test/java/com/alibaba/nacos/client/config/impl/YmlChangeParserTest.java
#	common/src/main/java/com/alibaba/nacos/common/http/param/Header.java
#	common/src/main/java/com/alibaba/nacos/common/utils/ConcurrentHashSet.java
#	config/src/main/java/com/alibaba/nacos/config/server/controller/ConfigController.java
#	console/src/main/resources/static/js/main.js
#	core/src/main/java/com/alibaba/nacos/core/cluster/ServerMemberManager.java
#	core/src/main/java/com/alibaba/nacos/core/utils/Loggers.java
#	naming/src/main/java/com/alibaba/nacos/naming/controllers/InstanceController.java
#	naming/src/main/java/com/alibaba/nacos/naming/healthcheck/HealthCheckReactor.java
#	pom.xml
2021-03-18 12:08:45 +08:00
haoyann
4029d32e01
fix ConcurrentHashSet compatibility problems (#5122) 2021-03-17 09:49:38 +08:00
nov.lzf
5247548e86
shade client and using remote ip from header (#5068)
* shade client

* shade client

* fix default cluster port

* rollback client ip

* using remote ip from header

* using remote ip from header

* using remote ip from header
2021-03-10 11:18:37 +08:00
haoyann
d80a272646
Remove extra semicolons (#5063) 2021-03-10 10:00:04 +08:00
nov.lzf
3afa7eac89
shutdown long connection where server rollback; use client submit client ip (#5013)
* use  client ip from connection setup request.

* reset remote connection for rollback

* npe bugfix

* npe bugfix

* stop long connection where server rollback

* stop long connection where server rollback
2021-03-05 09:28:01 +08:00
haoyann
6870e57e2a
Closeable interface remove public (#4971) 2021-03-01 10:01:45 +08:00
nov.lzf
2315a745d3
tag publish bugfix; ignore server port for connection reset request. (#4947)
* grpc port modified;change notify bugfix.

* default member port fix

* modify grpc port to offset

* modify grpc port to offset
2021-02-25 10:38:25 +08:00
杨翊 SionYang
3a82d5d987
Add some enhancements (#4881)
* Add some enhancements

* Add tps monitor for naming push

* Add some enhancement for client
2021-02-05 10:15:31 +08:00
mai.jh
6379ba25bf
[ISSUE-#4854] Modify Header to support Keys Ignore Case (#4870)
* Modify header key Ignore Case, Replace LinkedHashMap with TreeMap(String.case_insensitive_order)

* Delete redundant import

* add junit test case
2021-02-04 19:13:56 +08:00
nov.lzf
c272d78890
add client sign header and nacos default port;sync code with diamnd over nacos 2.0 (#4857)
* add client sign header and nacos default port

* sync code with diamnd over nacos 2.0

* pmd and check style
2021-02-02 17:31:01 +08:00
杨翊 SionYang
5626b2be1f
Add switch to close double write in 2.0.0 (#4845)
* Add close double write

* Add an async service check task when upgrading.
2021-02-01 11:19:19 +08:00
邪影oO
0881af3f32
fix-4787 (#4802) 2021-01-28 09:52:36 +08:00
KomachiSion
cecf0c0893 Add double write logic for upgrade 2021-01-27 20:33:42 +08:00
nov.lzf
3cfa183400
convert payload type from full name to simple name;abilities both on client-server& server cluster submit (#4791)
* convert payload type from full name  to simple name.

* abilities both on client-server& server cluster submit

* Cas of update config, beta,tag publish

* tenant support on connection.

* modify health check tps point name
2021-01-25 14:11:35 +08:00
nov.lzf
7e58b5cb7b
fuzzy match support of tps control;remove http transport of client worker ; add internal executors of CacheData notifier (#4783)
* keepalive time adjust

* fuzzy match support of tps control;remove http transport of client worker ; add internal executors of CacheData notifier
2021-01-22 18:34:37 +08:00
nov.lzf
c4ffbab21f
connection manager ,active send interval increase (#4776)
* connection manager ,active send interval increase

* adjust sync all interval
2021-01-21 20:47:23 +08:00
nov.lzf
4e7346db1d
tps monitor key use self define submit;active detection both on client and server (#4767)
* tps monitor key use self define submit

* pmd and check style.

* active detection of client and server

* connection manager ,active send interval increase
2021-01-21 14:40:07 +08:00
nov.lzf
91bf227c4a
tps control submit; connection rule (#4752)
* tps reporter submit

* tps reporter submit

* log optimize; listen concurrent bugfix; async request exception fix

* server loader bugfix;increase keep alive default time

* tps report bugfix, tps log bugfix;

* rpc server push ack notify bugfix.

* change rule store dir ;add local file change event of connection rule.

* remove client side request meta; reduce client parameters

* 简化冗余代码

* 优化异常日志

* md5 sync bugfix

* client metrics submit; tps monitor ip list support

* client metrics submit; tps monitor ip list support
2021-01-20 09:21:40 +08:00
KomachiSion
fd06b5a7b6 Merge remote-tracking branch 'upstream/develop' into feature_support_grpc_core
# Conflicts:
#	address/pom.xml
#	api/pom.xml
#	auth/pom.xml
#	client/pom.xml
#	cmdb/pom.xml
#	common/pom.xml
#	config/pom.xml
#	consistency/pom.xml
#	console/pom.xml
#	core/pom.xml
#	distribution/pom.xml
#	example/pom.xml
#	istio/pom.xml
#	naming/pom.xml
#	pom.xml
#	sys/pom.xml
#	test/pom.xml
2021-01-18 10:32:57 +08:00
杨翊 SionYang
1bd67269cd
Use revision to set version and upgrade to 1.4.2-SNAPSHOT (#4711)
* Use revision set version

* Use revision set version

* Add flatten plugin
2021-01-15 14:37:47 +08:00
杨翊 SionYang
67eb36976e
Upgrade to 1.4.1 (#4695) 2021-01-14 11:36:57 +08:00
杨翊 SionYang
4370882813
Add auth for naming rpc api and ix some bugs for 2.0.0 (#4675)
* Add auth for naming rpc api

* Fix Callback do not execute problem

* Fix client distro do not retry problem.
2021-01-12 16:37:08 +08:00
nov.lzf
6027d36222
client use same executor during different connection;metrics count bugfix.;recommend server check (#4659)
* client use same executor during different connection.

* metrics count bugfix.

* recommend server check

* remove rsocket ;add client metrics

* add client metrics to get cache value

* rpc tps control basic api submit.

* check style ,pmd fix.
2021-01-11 14:11:32 +08:00
杨翊 SionYang
c66aba5f4d
Remove service cache data when service removed (#4656)
* Fix instance count no decrement problem

* Dispatch naming event to difference Publisher

* Remove service cache data when service removed
2021-01-09 13:19:12 +08:00
nov.lzf
2d8d4c5f5a
onnectionLimitRule submit.client use same executor during different … (#4651)
* ConnectionLimitRule submit.

* ConnectionLimitRule submit.client use same executor during different connection.
2021-01-08 09:59:03 +08:00
KomachiSion
11210c057d Merge remote-tracking branch 'upstream/develop' into 2.0.0-sync-dev 2021-01-07 17:09:30 +08:00
nov.lzf
afb1a28135
log optimize; config re sync request (#4638) 2021-01-06 21:25:14 +08:00
mai.jh
2af6784f55
for #4594,#4594 Fix IO close problem. (#4606) 2020-12-31 15:48:26 +08:00
KomachiSion
bdacd0958d Merge remote-tracking branch 'upstream/develop' into 2.0.0-sync-develop
# Conflicts:
#	client/src/main/java/com/alibaba/nacos/client/config/impl/ClientWorker.java
#	client/src/main/java/com/alibaba/nacos/client/naming/NacosNamingService.java
#	client/src/main/java/com/alibaba/nacos/client/naming/remote/http/NamingHttpClientProxy.java
#	core/src/main/java/com/alibaba/nacos/core/listener/StartingApplicationListener.java
#	naming/src/main/java/com/alibaba/nacos/naming/controllers/CatalogController.java
#	naming/src/main/java/com/alibaba/nacos/naming/controllers/ServiceController.java
2020-12-31 11:48:52 +08:00
杨翊 SionYang
d1fcfd4529
Support persistent service and instance register/deregister (#4608)
* Remove unused foreach in ClientManager

* Revert some uncompleted refactor for ClientManager

* Refactor ClientOperationService

* Fix error dependency

* Fix serialize problem for persistent instance

* Refactor client id generation for IpPortBasedClient

* Support persistent service and instance register/deregister

* enhance the speed shutdown server
2020-12-31 11:36:57 +08:00
nov.lzf
0ad5bcbb17
call back bugfix. rpc executor extract... (#4592) 2020-12-29 16:23:32 +08:00
nov.lzf
6c5e52cf1b
rpc config listen notify optimize;connection_id name optimize;listeners query bugfix; (#4591)
* rpc config listen notify optimize

* connection_id name optimize

* listeners query bugfix;
2020-12-29 15:35:23 +08:00
赵延
56348af81b
make code more readable. (#4568)
* make code more readable.

* code enhance

* code enhance

* fix comment for grpc client

* initHandlerRpcClient -> initRpcClientHandler

* rename some method and modify some comments

* code enhance.

* code enhance.

* rename NamingPushResponseHandler -> NamingPushRequestHandler

* fix connectionId typo
2020-12-29 13:54:21 +08:00
nov.lzf
6e34f2886b
encode bugfix (#4548)
* basic spell fix.import
 fail bugfix

* encode bugfix

* remote log bugfix;  create client concurrent bugfix;optimize log

* checkstyle  fix

* checkstyle  fix

* checkstyle  fix

* checkstyle  fix

* checkstyle  fix

* checkstyle pmd fix

* checkstyle pmd fix

* http poll sla bugfix; rpc config listen notify optimize
2020-12-26 15:53:10 +08:00
杨翊 SionYang
4445bad715
Add unit test for naming push (#4545)
* Add single push task for retry push

* Add unit test for Push task

* Add unit test for Push executor

* Add unit test for Subscriber service v2

* PushService.java --> UdpPushService

* Refactor and add unit test for ClientInfo

* Solve Conflict and compile problem
2020-12-22 17:56:34 +08:00
nov.lzf
452410825f
20201221 lzf grpc (#4535)
* basic spell fix.

* basic spell fix.
2020-12-21 20:46:36 +08:00
杨翊 SionYang
d8b52d188a
Add callback, simple retry and metric for naming push (#4533)
* Re-plan the package structure of naming.push

* Add callback and simple retry for push

* Add rpc push metric and refactor MetricsMonitor
2020-12-21 19:28:56 +08:00
赵延
c72cb016b4
Enhance log info and fix code checkstyle (#4529)
* 1.fix code checkstyle check
2.enhance disconnect log info

* log enhance

* revert line
2020-12-21 09:42:11 +08:00
赵延
04c5056f13
1.When the integer reach Integer.MAX, reset it. (#4506)
2.Format some log
3.Fix some typo
2020-12-17 10:12:48 +08:00
liaochuntao
5b2d76fb34
[ISSUE #4364] Fix Cluster member state isn't updated to 'DOWN' after the node becomes down (#4371)
* fix: fix issue #4364

* refactor: fixed node changes that could not trigger event publishing

* fix: fixed a problem with frequent releases of events
2020-12-16 18:30:41 +08:00
赵延
617c5e16b1
Fix RpcClientStatus description. (#4497)
* fix RpcClientStatus description.

* fix check style.

* revert it's doc
2020-12-16 17:02:46 +08:00
赵延
ba0c04dd3a
Format some log info (#4495)
* fix tb remoting name

* format log info
2020-12-16 10:44:36 +08:00
nov.lzf
caffec2d5b
rsocket parse bugfix; auth bugfix;some checkstyle and basic spell fix. (#4473)
* rsocket parse bugfix; auth bugfix;some checkstyle and basic spell fix.

* auth bugfix
2020-12-14 19:31:33 +08:00
杨翊 SionYang
93a3ac7816
Upgrade to 2.0.0-ALPHA.1 (#4410)
* Add some new server config parameters

* Upgrade to 2.0.0-ALPHA.1
2020-12-04 18:46:24 +08:00
KomachiSion
d6fcac85c5 Merge remote-tracking branch 'upstream/develop' into feature_support_grpc_core
# Conflicts:
#	client/src/main/java/com/alibaba/nacos/client/config/http/ServerHttpAgent.java
#	client/src/main/java/com/alibaba/nacos/client/naming/NacosNamingMaintainService.java
#	client/src/main/java/com/alibaba/nacos/client/naming/NacosNamingService.java
#	config/src/main/java/com/alibaba/nacos/config/server/auth/ConfigResourceParser.java
#	config/src/main/java/com/alibaba/nacos/config/server/controller/ConfigController.java
#	config/src/main/java/com/alibaba/nacos/config/server/result/ResultBuilder.java
#	core/src/main/java/com/alibaba/nacos/core/listener/StartingApplicationListener.java
#	naming/src/main/java/com/alibaba/nacos/naming/controllers/CatalogController.java
#	naming/src/main/java/com/alibaba/nacos/naming/healthcheck/ClientBeatCheckTask.java
#	naming/src/main/java/com/alibaba/nacos/naming/healthcheck/HealthCheckCommon.java
#	naming/src/main/java/com/alibaba/nacos/naming/web/NamingResourceParser.java
#	sys/src/main/java/com/alibaba/nacos/sys/utils/ApplicationUtils.java
#	test/src/test/java/com/alibaba/nacos/test/naming/AutoDeregisterInstance_ITCase.java
2020-12-03 18:41:41 +08:00
nov.lzf
ad98020770
负载均衡bugfix;监听并发问题bugfix;direct memory泄漏bugfix (#4365)
* memory gc optimize ; string pool bugfix

* grpc executor

* grpc executor

* 负载均衡bugfix;监听并发问题bugfix;direct memory泄漏bugfix

* check style fix
2020-11-30 16:17:34 +08:00
zhuhao
b7b7b1975f
refactor issue #4275 (#4299) 2020-11-23 13:50:14 +08:00
赵延
ba9ed8e736
[ISSUE-#4262] Fix public namespace permission problem (#4273)
* fix public namespace permission problem

* move NamespaceUtilTest to common module
2020-11-20 20:00:57 +08:00
KomachiSion
3dc7b34c58 Sync develop branch and solve conflict 2020-11-20 18:01:34 +08:00
KomachiSion
e56eb3680c Merge remote-tracking branch 'upstream/develop' into feature_support_grpc_core
# Conflicts:
#	api/pom.xml
#	client/src/main/java/com/alibaba/nacos/client/config/NacosConfigService.java
#	client/src/main/java/com/alibaba/nacos/client/naming/NacosNamingService.java
#	client/src/main/java/com/alibaba/nacos/client/naming/core/HostReactor.java
#	client/src/main/java/com/alibaba/nacos/client/naming/remote/http/NamingHttpClientProxy.java
#	client/src/test/java/com/alibaba/nacos/client/naming/core/HostReactorTest.java
#	common/src/main/java/com/alibaba/nacos/common/notify/NotifyCenter.java
#	core/pom.xml
#	naming/src/main/java/com/alibaba/nacos/naming/healthcheck/HttpHealthCheckProcessor.java
#	naming/src/main/java/com/alibaba/nacos/naming/web/DistroFilter.java
#	pom.xml
2020-11-20 17:13:49 +08:00
liaochuntao
89342da468
Optimize Bean injection and fix unsafe Map removal issues (#4276)
* refactor: refactor code

* fix: fix generic issues
2020-11-20 09:12:14 +08:00
mai.jh
6f4dbf065f
[ISSUE #4225] Replace http client in HttpHealthCheckProcessor (#4244)
* for #42255, Replace http client in HttpHealthCheckProcessor.

* Restore the old version number.

* Removes temporary attributes from a method.

* fix Code style.

* Use the EnvUtil.getProperty() method to get the HTTP parameter, leaving it customizable.

* Fix error symbol.

* Remove excess package import.

* Rollback the code about the custom HTTP parameter.

* fix Code style.
2020-11-19 19:07:44 +08:00
nov.lzf
69c84f1397
pmd ,checkstyle (#4252) 2020-11-18 13:46:27 +08:00
mai.jh
0a983c823f
for #4236,fix error with the Apache HTTP client "Content-Length Header Already Present" (#4237) 2020-11-16 15:21:49 +08:00
赵延
5c38d0b5b8
[ISSUE-#4115] Refactor client naming event handle logic (#4137)
* refactor and supply api to async handle instances change event

* add async handle way to callback event listener

* refactor EventListener, supply getExecutor to handle event async and compatible old version.

* remove unnecessary code

* ignore abstract class name check

* fix EmptyLineSeparator

* remove unuseful import

* compatible old client sdk, add abstractEventListener to support async handle naming event.

* remove unuseful import

* refactor InstanceChangeListener. decouple AbstractEventListener's executor and InstanceChangeListener's executor

* 1.remove key if listeners is empty.
2.fix getSubscribeServices

* revert notify center code

* code quality enhance

* upgrade @since 1.4.0 -> 1.4.1

* change combineListenKey to ServiceInfo.getKey

* just deregisterSubscriber when hostReactor shutdown

* not export getSubscribers()

* add this key word, and move code place.
2020-11-13 11:58:12 +08:00
nov.lzf
70d976db18
更新版本;集群整体重新负载均衡功能;变更推送内容;推送SLA日志;常量池改造;启动时长链接优化;删除rpc digest 日志 (#4217)
* listen context bugfix.

* 更新版本;集群整体重新负载均衡功能;变更推送内容;推送SLA日志;常量池改造;启动时长链接优化;删除rpc digest 日志
2020-11-12 18:03:07 +08:00
杨翊 SionYang
164ed33ada
Feature support grpc core (#4204)
* NacosNamingMetadataManager --> NamingMetadataManager

* Try to add ServiceMetadata consistency

* add catalog api support new data

* Change version to 2.0.0-SNAPSHOT
2020-11-11 19:50:14 +08:00
杨翊 SionYang
8950304f03
Revert "[ISSUE #3102] Create utils class to nacos-common (#4165)" (#4191)
This reverts commit cf92d19d03.
2020-11-10 18:21:59 +08:00
蚊子猫
cf92d19d03
[ISSUE #3102] Create utils class to nacos-common (#4165)
* [ISSUE #3102] Create utils class to nacos-common.

Change-Id: I30970371b86a032366bd66c7b031a4cc3085512e

* [ISSUE #3102] Create utils class to nacos-common, fix check style errors.

Change-Id: I4711ad2b64a4265379f5d7df7434352e69c3760d
2020-11-09 19:30:56 +08:00
赵延
48d0c68527
[ISSUE-#4166] Optimize notifyCenter code (#4167)
* enhance notify center code quality

* reverse the judge logic
2020-11-09 11:17:30 +08:00
杨翊 SionYang
10e00e8cd3
Use SPI to load health check interceptor (#4154) 2020-11-06 17:31:24 +08:00
杨翊 SionYang
c81bb5b722
Add NacosServiceLoader and replace ServiceLoader usage directly (#4151)
* Add NacosServiceLoader

* Replace ServiceLoader by NacosServiceLoader
2020-11-06 14:46:28 +08:00
mai.jh
51fa1c052a
for #3832, add common http client shutdown method. (#4150) 2020-11-06 14:44:22 +08:00
邪影oO
538509502f
IPv6 support (#3773)
* IPv6 support

* AddressServerParamCheckUtil 合并到 IpUtil 及一些修改

* 解决魔法值

* 修改隐患

* 调整使用了类似 ip.indexOf(":") 查找是否有端口的地方的逻辑, 一些 ":" 替换为常量

* 删除无用测试

* IpUtil 改名 为 IPUtil, 涉及IP的相关方法名修改,涉及到的调用修改,检测IP的地方调用的isIPv4改为isIP. 修改涉及IP的字段长度及相关升级更新的sql

* no message

* no message

* no message

* no message

* 获取本机IP时,如果本机IP是IPv6并且包含网卡信息(V6地址中最后面的百分号和百分号后面的内容)则去除网卡信息

* 解决 AvoidComplexConditionRule(请不要在条件中使用复杂的表达式)

* 移除无用代码

* 添加注释

* 调整code style, 调整获取本机IP的逻辑
2020-11-05 20:15:06 +08:00
KomachiSion
8829d3c6ed Upgrade to 2.0.0-ALPHA 2020-11-05 19:38:15 +08:00
KomachiSion
9cbc0bfeea Merge branch 'upsteam-develop' into feature_support_grpc_core
# Conflicts:
#	api/src/main/java/com/alibaba/nacos/api/common/Constants.java
#	client/src/main/java/com/alibaba/nacos/client/naming/remote/http/HttpClient.java
#	common/src/main/java/com/alibaba/nacos/common/utils/VersionUtils.java
#	core/src/main/java/com/alibaba/nacos/core/distributed/distro/DistroProtocol.java
#	naming/src/main/java/com/alibaba/nacos/naming/controllers/InstanceController.java
#	naming/src/main/java/com/alibaba/nacos/naming/controllers/ServiceController.java
#	naming/src/main/java/com/alibaba/nacos/naming/misc/GlobalExecutor.java
2020-11-05 19:33:46 +08:00
杨翊 SionYang
ccea6ee112
Upgrade to 1.4.1-SNAPSHOT (#4135) 2020-11-05 09:43:33 +08:00
mai.jh
796849b17d
refactor: delete the old http client code marked as @Deprecated (#4122) 2020-11-05 09:10:30 +08:00
赵延
053b7819d6
[ISSUE-#4125] Fix param check in com.alibaba.nacos.common.utils.MapUtils#computeIfAbsent (#4126)
* fix param check mismatch

* add map check
2020-11-04 16:41:07 +08:00
KomachiSion
adbcb7549d Upgrade to 1.4.0 2020-11-02 19:09:19 +08:00
杨翊 SionYang
9c39757580
Use interceptors and checkers to refactor client beat check task (#4112)
* Add Health check Interceptable to decouple task and responsible

* Move v2 heart beat class to heartbeat package.

* use interceptors and checkers to refactor client beat check task
2020-11-01 19:41:55 +08:00
KomachiSion
7ad96444c8 Fix unit test error in ci 2020-10-21 10:42:50 +08:00
KomachiSion
5d068a96c7 Merge branch 'jraft_naming' into jraft_naming_fix_commit_log
# Conflicts:
#	console/src/main/resources/static/js/main.js
2020-10-21 09:24:53 +08:00
赵延
1898ddc36d
[ISSUE #3904] feature - operate instance's metadata alonely (#3912)
* feature. add update and delete operation on instance's metadata 90%

* 1.add unit test
2.fix-locateInstance error

* format code style

* add @link on class

* move metadata operate to InstanceController.

* format code 50%

* complete bacth operation of metadata

* remove unnecessary test unit

* modify the variable name

* perfect log info

* modify consumer's dto to match it's description

* 1.rename class OperationContext -> InstanceOperationContext
2.move Map operation from NamingUtils to MapUtils

* check datum is null

* code refactor.

* 1. code refactor
2. modify the batch operate http param. just support (1 services : n instance)

* 1.set default clusterName if instance not set
2.fix client params not set instances bug

* npe fix

* 1.remove consistencyType *, just support ephemeral or persist.
2.remove moditfy property method in InstanceOperationContext and InstanceOperationInfo, it just defined by constructor.

* add instance controller test

* fix code too length

* update the param name

* add feature's version of start
2020-10-19 16:32:02 +08:00
KomachiSion
47481fedfb Merge branch 'upsteam-develop' into feature_support_grpc_core
# Conflicts:
#	client/src/main/java/com/alibaba/nacos/client/naming/NacosNamingService.java
#	client/src/main/resources/nacos-log4j2.xml
#	config/src/main/java/com/alibaba/nacos/config/server/service/notify/AsyncNotifyService.java
#	core/src/main/java/com/alibaba/nacos/core/cluster/MemberMetaDataConstants.java
2020-10-16 15:26:33 +08:00
杨翊 SionYang
d78ebbbce1
Refactor dispatch task execute (#3995)
* Refactor nacos task execute engine

* Refactor nacos task execute engine

* For checkstyle

* For checkstyle

* Use ThreadUtils to reduce duplicate codes

* Set custom logger for TaskExecuteWorker

* Set custom logger for TaskExecuteWorker
2020-10-16 14:32:39 +08:00
liaochuntao
8a54b1fc4c
Naming module Raft protocol migration (#3989)
* fix-#3595, delete the unnecessary code (#3596)

* [ISSUE #3566] move the permission code of nacos-core module to nacos-auth module (#3593)

* move the permission code of nacos-core module to nacos-auth module.

* Fix some code style issues

* address server module auth package name change.

* test change

* Incorrect package name correction

* [ISSUE #3592] Fix incorrect prompt when accessing the restricted namespace (#3603)

* Fix incorrect prompt when accessing the restricted namespace

* Modify variable name

* [ISSUE #3600] Replace the deprecated api of jwt (#3616)

* replace the deprecated api of jwt

* transfer secretKey to byte array just using String encode with utf-8

* [ISSUE #3613]  Fix `unit test method not be static` & update publish config listener  in `ConfigTest.java` (#3614)

* fix `unit test method not be static` & update publish config listener in `ConfigTest.java`

* fix `unit test method not be static` & update publish config listener in `ConfigTest.java`

* move jwt dependency from console,core to auth. (#3624)

* refactor: unified implementation of http client api adjustment. (#3639)

* [ISSUE #3628] set naming client updateTask interval more flexible (#3637)

* 1.use server cacheMillis event service deleted
2.naming client UpdateTask's interval will inc by failCount that connect with server

* 1.move failCount to updateTask
2.redefine the updateService method name. updateServiceNow -> updateService, wrap updateService in updateServiceNow when first getServiceInfo

* 1.create push client even service is not exist
2.serviceInfo's hosts is empty or can't connect to server both add the updateTsk interval

* format the indent

* fix: create kvstorage

* refactor: create kv storage]

* refactor: refactor rocksdb storage code

* Fix issue 3661 (#3662)

* improvement: merge upstream/develop

* feat: merge upstream develop

* fix: fix issue #3661

* [ISSUE#3658] refactor TaskManager and move to nacos-common module (#3663)

* Add TaskManagerTest

* Move Abstract Task and Task processor to nacos-common

* Add Nacos execute engine interface and nacos task interface

* Refactor Task Manager to NacosDelayTaskExecuteEngine

* for code style

* [ISSUE #3671] move some tools class into common package (#3672)

* for #3621 (#3668)

* [ISSUE#3315]Nacos client support https (#3654)

* [ISSUE #3315] nacos client support https
* common module add tls related classes
* JdkHttpClientRequest support https
* unified IpUtils

* [ISSUE #3315] nacos client support https
* common module add tls related classes
* JdkHttpClientRequest support https
* unified IpUtils

* [ISSUE #3315] nacos client support https

* format code

* fix typo and doc format of README file (#3688)

1. It’s a little weird to use Chinese comma in English
2. Fix typo:   change 'reposity' to  'repository', 'instance' to 'instances'
3. Format other details of the doc

* Try to fix nacos server CLOSE_WAIT (#3703)

* Fix revert chunk isn't work in Content Comparison page (#3686)

* fix: fixed cluster node version issue

* Fix Logging in with the wrong username or password will cause jackson serialization results to fail (#3695) (#3721)

* [ISSUE#3712] add apache http client factory (#3716)

* refactor: Add apache http client Factory.

* refactor: Add apache http client Factory.

* add license

* refactor: class name change

* [Issue#3692] Use new distro task engine replace old task dispatcher. (#3715)

* Add ServiceManagerTest

* Add DistroConsistencyServiceImplTest

* Add new distro entities

* Add new distro sync data change

* add new VerifyTask to do checksum.

* Replace old sync task and checksum task

* Add retry sync change task.

* Fix high cpu load

* For checkstyle

* Combine naming sync task to reduce http cost

* Move some classes

* Refactor keys combined logic

* enhance package construct

* Fix unit test

* For pmd

* [Issue #3692] Use new distro implmentation to handle sync datum and checksum request (#3734)

* Add receive data and verify data distro protocol interface

* Use new distro implmentation to handle sync datum and checksum request

* Use new distro implmentation to handle get datum request.

* refactor: adjust the data loading logic when a new protocol is started

* [ISSUE#3692] Use new distro implmentation to handle init all datum request. (#3744)

* Add load data task in DistroProtocol

* Use new distro implmentation to handle init all datum request.

* Fix unit test

* fix: #3617 (#3678)

* fix #3617

* 调整代码格式

* 修改抛出的Exception类型

* 调整逻辑

* 移除没用到的方法

* 修改注释

* [ISSUE#3658] Move distro sync code to nacos-core module (#3750)

* Move distro sync code to nacos-core module

* Update unit test

* feat: none

* fix: fixing serialization problems

* replace the deprecated api com.fasterxml.jackson.databind.node.ObjectNode#put(java.lang.String, com.fasterxml.jackson.databind.JsonNode)

* Revert "[#3368]Cancel empty Long polling thread to improve performance. (#ISSUE3432)" (#3778)

This reverts commit 95c8bf242b.

* [ISSUE #3658] Some enhance refactor for naming distro (#3765)

* Some enhance refactor for naming distro

* Remove null code

* [ISSUE #3687] check serviceName's format(groupName@@serviceName) in server and client (#3767)

* 1.in server, check serviceName's format 'groupName@@serviceName', groupName and serviceName can't be blank
2.in client, check 'groupName@@serviceName', groupName and serviceName can't be blank

* ignore the check to groupName

* check split's length instead of exception to check argument

* 1.add some notes
2.remove unnecessary code

* modify the notes

* [ISSUE#3790] Supplement http response Content-Encoding processing. (#3791)

* bug: fix issue #3790, Supplement http response Content-Encoding processing

* bug: fix issue #3790, Supplement http response Content-Encoding processing.

* bug: fix issue #3790, Supplement http response Content-Encoding processing.

* Update ConvertUtils.java (#3789)

* fix ConvertUtils can not handle FormatException.

* fix: fixed some logic errors

* [ISSUE#3192] naming module replace http client (#3763)

* naming module replace http client

* refactor: naming module replace http client.

* refactor: naming module replace http client.

* refactor: Add apache http client Factory.

* refactor: naming module replace http client.

* fix code style

* refactor: Add http client config

* refactor: naming module HttpClientManager change

* refactor: naming module HttpClientManager change

* refactor: naming module replace http client.

* fix code style

* refactor: fix JDK http client Use error problem.

* refactor: Query And Header entity init Add non-empty judgment

* Enhance the asynchronous http delete request method to support body passing parameters.

* refactor: apache http client set MaxConnTotal and maxConnPerRoute.

* Fix NullPointerException when no subscriber for slow event (#3835)

* Set mediaType charset as utf8 (#3837)

* Fix code style problem in DiskUtils (#3842)

* Fix http client contentType charset problem (#3848)

* feature issue #3804 (#3805)

* improvement: merge upstream/develop

* feat: merge upstream develop

* feat: manage the loading of configuration files uniformly

* fix: fix copyright style

* style: fix code style

* fix: fix code style

* bug: fix the problem of incorrect judgment of http response code in SubscribeManager#getSubscribers() method (#3879)

* [ISSUE #3867] replace the way which get version (#3872)

* replace the way which get version

* remove version sign application.properties in nacos-api

* [ISSUE #3871] fix description don't match the error (#3886)

* Fix jraft problem

* Fix chinese string are truncated in ConcunrrentDiskUtil (#3883)

* Temp fix raft server can't refresh raft configuration problem

* update spring boot dependencies version (#3900)

Co-authored-by: yanlinly <yan.lin2009@163.com>
Co-authored-by: 杨翊 SionYang <263976490@qq.com>

* [ISSUE #3781]Fix service list intermittently lost service (#3891)

* update service init

* commit futureMap.remove()

* update serviceManager

Co-authored-by: yanlinly <yan.lin2009@163.com>
Co-authored-by: 杨翊 SionYang <263976490@qq.com>

* Fix Listener do not listen new consistency problem

* Fix Performance logger thread call old raft error

* Use datum in new raft processor to compatible old data

* Use multiple kv storage in new raft processor to compatible old data

* Revert PR#2849.

* Move datum key check to KeyBuilder

* Fix 1.3.2 upgrade 1.4.0 can't notify service change problem

* [ISSUE #3850] ignore socket exception when client destroy already (#3906)

* if client destroy already, ignore socket exception.

* remove the exception's judgement

* remove unuseful import

* fix: fix merge conflict

* isAddressServerHealth set as true when request success (#3952)

* [ISSUE#3533] change cache dir with namespace -- part 1: unify the cache dir (#3859)

* [ISSUE#3533] change cache dir with namespace -- part 2: unify the log dir (#3882)

* fix typo error (#3954)

* [ISSUE #3909] add domain's judgement (#3913)

* add domain's judgement

* modify domain's judgement, can resolve = true

* remove judgement in 'if' code block

* replace Ip to IP in InetUtils

* log warn info when domain can not be resolved

* fix vaiable name

* 1.fix unit test can't pass (#3956)

2.update the unit test

* Move remove listener logic to ServiceManager

* Move remove listener logic to ServiceManager

* Fix#3973 (#3974)

* fix #3973

* 重复代码抽取到一个方法

* 删除私有方法的注释

* 处理namespace参数的方法提出到一个工具类中

* 修改注释

* 添加licences

* 增加 TenantUtil 的测试

* TenantUtil 改名为 NamespaceUtil

* For #3384, Fix member extend info do not update error. (#3982)

* refactor: code refactor

Co-authored-by: 赵延 <1060026287@qq.com>
Co-authored-by: mai.jh <maijh97@gmail.com>
Co-authored-by: ljhrot <296093710@qq.com>
Co-authored-by: Xarrow <zhangjian12424@gmail.com>
Co-authored-by: 杨翊 SionYang <263976490@qq.com>
Co-authored-by: Gagharv <wwfortunate@gmail.com>
Co-authored-by: syapollo <34880947+syapollo@users.noreply.github.com>
Co-authored-by: S2W <joexsue@foxmail.com>
Co-authored-by: Tboy <technotboy@yeah.net>
Co-authored-by: 邪影oO <213539@qq.com>
Co-authored-by: yanlinly <yan.lin2009@163.com>
Co-authored-by: Mark4z <36187602+mark4z@users.noreply.github.com>
Co-authored-by: Marcus <anymre@outlook.com>
Co-authored-by: shizhengxing <798187024@qq.com>
Co-authored-by: ljhrot <ljhrot@qq.com>
Co-authored-by: sanxun0325 <bbz17640380550@163.com>
Co-authored-by: JackSun-Developer <sjtusl@163.com>
2020-10-14 19:33:33 +08:00
nov.lzf
336269891e
ak auth support;log optimize; client port aware on server side (#3970)
* ak auth support on long connection

* server side aware of client port;basic optimize

* cluster config notify bugfix and log optimize

* client rpc log support for rpc

* server side aware of client port;basic optimize

* cluster config notify bugfix and log optimize

* client rpc log support for rpc

* reconnect rate control
2020-10-12 11:53:43 +08:00
KomachiSion
6e5b09aee7 Merge branch 'upsteam-develop' into feature_support_grpc_core
# Conflicts:
#	common/src/main/java/com/alibaba/nacos/common/notify/DefaultSharePublisher.java
#	test/src/test/java/com/alibaba/nacos/test/naming/AutoDeregisterInstance_ITCase.java
2020-09-18 16:16:00 +08:00
mai.jh
473090ba13
Fix http client contentType charset problem (#3848) 2020-09-17 17:49:11 +08:00
杨翊 SionYang
2ded5a24fc
Set mediaType charset as utf8 (#3837) 2020-09-16 09:14:03 +08:00
杨翊 SionYang
565557c5c5
Fix NullPointerException when no subscriber for slow event (#3835) 2020-09-15 14:50:57 +08:00
mai.jh
5e4429f0e4
[ISSUE#3192] naming module replace http client (#3763)
* naming module replace http client

* refactor: naming module replace http client.

* refactor: naming module replace http client.

* refactor: Add apache http client Factory.

* refactor: naming module replace http client.

* fix code style

* refactor: Add http client config

* refactor: naming module HttpClientManager change

* refactor: naming module HttpClientManager change

* refactor: naming module replace http client.

* fix code style

* refactor: fix JDK http client Use error problem.

* refactor: Query And Header entity init Add non-empty judgment

* Enhance the asynchronous http delete request method to support body passing parameters.

* refactor: apache http client set MaxConnTotal and maxConnPerRoute.
2020-09-15 09:18:20 +08:00
liaochuntao
7101b6b020
Jraft naming (#3826)
* fix-#3595, delete the unnecessary code (#3596)

* [ISSUE #3566] move the permission code of nacos-core module to nacos-auth module (#3593)

* move the permission code of nacos-core module to nacos-auth module.

* Fix some code style issues

* address server module auth package name change.

* test change

* Incorrect package name correction

* [ISSUE #3592] Fix incorrect prompt when accessing the restricted namespace (#3603)

* Fix incorrect prompt when accessing the restricted namespace

* Modify variable name

* [ISSUE #3600] Replace the deprecated api of jwt (#3616)

* replace the deprecated api of jwt

* transfer secretKey to byte array just using String encode with utf-8

* [ISSUE #3613]  Fix `unit test method not be static` & update publish config listener  in `ConfigTest.java` (#3614)

* fix `unit test method not be static` & update publish config listener in `ConfigTest.java`

* fix `unit test method not be static` & update publish config listener in `ConfigTest.java`

* move jwt dependency from console,core to auth. (#3624)

* refactor: unified implementation of http client api adjustment. (#3639)

* [ISSUE #3628] set naming client updateTask interval more flexible (#3637)

* 1.use server cacheMillis event service deleted
2.naming client UpdateTask's interval will inc by failCount that connect with server

* 1.move failCount to updateTask
2.redefine the updateService method name. updateServiceNow -> updateService, wrap updateService in updateServiceNow when first getServiceInfo

* 1.create push client even service is not exist
2.serviceInfo's hosts is empty or can't connect to server both add the updateTsk interval

* format the indent

* fix: create kvstorage

* refactor: create kv storage]

* refactor: refactor rocksdb storage code

* Fix issue 3661 (#3662)

* improvement: merge upstream/develop

* feat: merge upstream develop

* fix: fix issue #3661

* [ISSUE#3658] refactor TaskManager and move to nacos-common module (#3663)

* Add TaskManagerTest

* Move Abstract Task and Task processor to nacos-common

* Add Nacos execute engine interface and nacos task interface

* Refactor Task Manager to NacosDelayTaskExecuteEngine

* for code style

* [ISSUE #3671] move some tools class into common package (#3672)

* for #3621 (#3668)

* [ISSUE#3315]Nacos client support https (#3654)

* [ISSUE #3315] nacos client support https
* common module add tls related classes
* JdkHttpClientRequest support https
* unified IpUtils

* [ISSUE #3315] nacos client support https
* common module add tls related classes
* JdkHttpClientRequest support https
* unified IpUtils

* [ISSUE #3315] nacos client support https

* format code

* fix typo and doc format of README file (#3688)

1. It’s a little weird to use Chinese comma in English
2. Fix typo:   change 'reposity' to  'repository', 'instance' to 'instances'
3. Format other details of the doc

* Try to fix nacos server CLOSE_WAIT (#3703)

* Fix revert chunk isn't work in Content Comparison page (#3686)

* fix: fixed cluster node version issue

* Fix Logging in with the wrong username or password will cause jackson serialization results to fail (#3695) (#3721)

* [ISSUE#3712] add apache http client factory (#3716)

* refactor: Add apache http client Factory.

* refactor: Add apache http client Factory.

* add license

* refactor: class name change

* [Issue#3692] Use new distro task engine replace old task dispatcher. (#3715)

* Add ServiceManagerTest

* Add DistroConsistencyServiceImplTest

* Add new distro entities

* Add new distro sync data change

* add new VerifyTask to do checksum.

* Replace old sync task and checksum task

* Add retry sync change task.

* Fix high cpu load

* For checkstyle

* Combine naming sync task to reduce http cost

* Move some classes

* Refactor keys combined logic

* enhance package construct

* Fix unit test

* For pmd

* [Issue #3692] Use new distro implmentation to handle sync datum and checksum request (#3734)

* Add receive data and verify data distro protocol interface

* Use new distro implmentation to handle sync datum and checksum request

* Use new distro implmentation to handle get datum request.

* refactor: adjust the data loading logic when a new protocol is started

* [ISSUE#3692] Use new distro implmentation to handle init all datum request. (#3744)

* Add load data task in DistroProtocol

* Use new distro implmentation to handle init all datum request.

* Fix unit test

* fix: #3617 (#3678)

* fix #3617

* 调整代码格式

* 修改抛出的Exception类型

* 调整逻辑

* 移除没用到的方法

* 修改注释

* [ISSUE#3658] Move distro sync code to nacos-core module (#3750)

* Move distro sync code to nacos-core module

* Update unit test

* feat: none

* fix: fixing serialization problems

* fix: fixed some logic errors

Co-authored-by: 赵延 <1060026287@qq.com>
Co-authored-by: mai.jh <maijh97@gmail.com>
Co-authored-by: ljhrot <296093710@qq.com>
Co-authored-by: Xarrow <zhangjian12424@gmail.com>
Co-authored-by: 杨翊 SionYang <263976490@qq.com>
Co-authored-by: Gagharv <wwfortunate@gmail.com>
Co-authored-by: syapollo <34880947+syapollo@users.noreply.github.com>
Co-authored-by: S2W <joexsue@foxmail.com>
Co-authored-by: Tboy <technotboy@yeah.net>
Co-authored-by: 邪影oO <213539@qq.com>
2020-09-14 22:31:55 +08:00
nov.lzf
d83a4b12b3
ak auth support on long connection (#3821) 2020-09-14 16:47:59 +08:00
Marcus
af2151e49c fix ConvertUtils can not handle FormatException. 2020-09-14 11:56:12 +08:00
KomachiSion
711ec8f49c Merge branch 'upsteam-develop' into feature_support_grpc_core
# Conflicts:
#	client/src/main/java/com/alibaba/nacos/client/config/impl/ClientWorker.java
#	client/src/test/java/com/alibaba/nacos/client/config/listener/impl/ClientWorkerTest.java
2020-09-11 20:08:11 +08:00
杨翊 SionYang
9e064b7f92
Add client distro sync logic (#3809)
* Adapt query service info request with new model

* Remove indexes when client disconnect

* Add distro sync client data

* Add sync delete client

* Add maintain expired cluster connection client
2020-09-11 20:00:47 +08:00
nov.lzf
fac4879e92
optimize dumpService warning on starting up ; async request suppport in cluster rpc client proxy. (#3808)
* optimize  dumpService warning on starting up .

* async request suppport in cluster rpc client proxy.

* async request suppport in cluster rpc client proxy.
2020-09-11 18:02:28 +08:00
nov.lzf
721791a41e
optmize rpc client lifecycle ;request timeout to rpc client; some bugfix (#3797)
* optmize rpc client lifecycle and some bugfix

* get server load optimize; add request timeout to rpc client
2020-09-10 10:56:36 +08:00
S2W
a41d209d57
Update ConvertUtils.java (#3789) 2020-09-09 17:03:25 +08:00
mai.jh
baa699a3f1
[ISSUE#3790] Supplement http response Content-Encoding processing. (#3791)
* bug: fix issue #3790, Supplement http response Content-Encoding processing

* bug: fix issue #3790, Supplement http response Content-Encoding processing.

* bug: fix issue #3790, Supplement http response Content-Encoding processing.
2020-09-09 17:01:18 +08:00
nov.lzf
167dba13d2
check stype and pmd fix; future request optimize. (#3782) 2020-09-08 15:30:11 +08:00
nov.lzf
723dedebfe
request callback timeout support both at client and server; split sdk (#3776)
and cluster grpc server port.
2020-09-07 18:49:17 +08:00
KomachiSion
ee406d5e5e Merge branch 'upsteam-develop' into feature_support_grpc_core
# Conflicts:
#	client/src/main/java/com/alibaba/nacos/client/config/http/ServerHttpAgent.java
#	client/src/main/java/com/alibaba/nacos/client/config/impl/ClientWorker.java
#	client/src/main/java/com/alibaba/nacos/client/config/impl/ServerListManager.java
#	client/src/main/java/com/alibaba/nacos/client/naming/core/HostReactor.java
#	client/src/test/java/com/alibaba/nacos/client/ConfigTest.java
#	config/src/main/java/com/alibaba/nacos/config/server/service/notify/AsyncNotifyService.java
#	core/pom.xml
#	naming/src/main/java/com/alibaba/nacos/naming/misc/GlobalExecutor.java
2020-09-04 17:03:26 +08:00
nov.lzf
93364734ea
client switch server bugfix ; cluster server connection manage, and loader balance with specific server ip (#3751) 2020-09-03 18:02:55 +08:00
nov.lzf
cf550b9f43
optimize request /header /meta info model, uniform request resolver pattern. (#3749)
* body string compress and opitimize request and meta info

* optimize request /header /meta info model, uniform request  resolver pattern.

* delete useless code
2020-09-03 15:00:08 +08:00
nov.lzf
d279aad940
gzip support; using object list instead of string concat for batch listen config (#3742)
* gzip support; using object list  instead of string concat for batch listen config

* gzip support; using object list  instead of string concat for batch listen config
2020-09-02 14:25:33 +08:00
nov.lzf
3a5c3cb19f
refactor request/response registry ; server side request push refactor (#3739)
* limiter support in rpc transport

* get next server optimize; server side notify concurrent bugfix; multi rpc client support in config module.

* toast alibaba repo refer. add client name

* rpc config change beta ips filter

* payload registry submit

* refactor request/response registry ; build response aware of server side in connection level.

* refactor request/response registry ; build response aware of server side in connection level.

* bi stream submit.

* bi stream submit.
2020-09-02 09:12:53 +08:00
杨翊 SionYang
525672272e
[Issue#3692] Use new distro task engine replace old task dispatcher. (#3715)
* Add ServiceManagerTest

* Add DistroConsistencyServiceImplTest

* Add new distro entities

* Add new distro sync data change

* add new VerifyTask to do checksum.

* Replace old sync task and checksum task

* Add retry sync change task.

* Fix high cpu load

* For checkstyle

* Combine naming sync task to reduce http cost

* Move some classes

* Refactor keys combined logic

* enhance package construct

* Fix unit test

* For pmd
2020-09-01 10:46:45 +08:00
mai.jh
06877ead41
[ISSUE#3712] add apache http client factory (#3716)
* refactor: Add apache http client Factory.

* refactor: Add apache http client Factory.

* add license

* refactor: class name change
2020-09-01 10:24:34 +08:00
Tboy
c2367d687c
Fix Logging in with the wrong username or password will cause jackson serialization results to fail (#3695) (#3721) 2020-09-01 10:01:12 +08:00
nov.lzf
3d222268af
as-sk abstract ; simplify server http agent; optimize io netty import; client side server change event aware (#3693)
* optimize rpc listen notify

* remove cache bugfix

* code optimize

* code optimize

* config client abstract optimize, remove if/else code

* config client abstract optimize, remove if/else code

* as sk abstract ; simplify server http agent; optimize io netty import; client side server change event aware
2020-08-26 15:52:25 +08:00
Gagharv
da8fa57f99
[ISSUE#3315]Nacos client support https (#3654)
* [ISSUE #3315] nacos client support https
* common module add tls related classes
* JdkHttpClientRequest support https
* unified IpUtils

* [ISSUE #3315] nacos client support https
* common module add tls related classes
* JdkHttpClientRequest support https
* unified IpUtils

* [ISSUE #3315] nacos client support https

* format code
2020-08-24 18:35:38 +08:00
Gagharv
3428d8830e
[ISSUE #3671] move some tools class into common package (#3672) 2020-08-24 13:24:56 +08:00
杨翊 SionYang
a0c8353b70
[ISSUE#3658] refactor TaskManager and move to nacos-common module (#3663)
* Add TaskManagerTest

* Move Abstract Task and Task processor to nacos-common

* Add Nacos execute engine interface and nacos task interface

* Refactor Task Manager to NacosDelayTaskExecuteEngine

* for code style
2020-08-23 16:39:58 +08:00
mai.jh
136b45610d
refactor: unified implementation of http client api adjustment. (#3639) 2020-08-20 09:09:21 +08:00
nov.lzf
03e58df04f
listen context query support on console ; basic api for lader balance ;server side push retry submit (#3630)
* listen context query with groupy and ip support long connect

* remove connection on cleint side, server will generate instead.

* connect reset request support appointing ip address.

* server push retry

* basic api for loader balance

* basic api for loader balance
2020-08-18 20:20:21 +08:00
nov.lzf
090c1ea0dd
connection event notification of grpc server (#3611)
* grpc server noticed when a client disconnected.

* grpc connection notification and optimize server service register.

* grpc connection notification and optimize server service register.
2020-08-15 18:16:33 +08:00
nov.lzf
33df55d40a
remote support on servers and optimize connection and client model (#3609)
* Add gprc support-> optimize rpc listen execute task  notify

* Add gprc support->  add listener optimize.

* Add gprc support-> cluster rpc client support

* cluster rpc client support

* config change notify bettween server long connect support

* server push future refactor.

* server rpc sync compatibility support

* connection labels  support

* code fail fix
2020-08-14 17:40:00 +08:00
chuntaojun
71c8530abd Merge branch 'develop' of https://github.com/alibaba/nacos into jraft_naming 2020-08-12 23:34:43 +08:00
杨翊 SionYang
0b73cfc769
Upgrade version to 1.4.0-SNAPSHOT (#3549) 2020-08-12 09:32:06 +08:00
chuntaojun
14039fd9cd Merge branch 'develop' of https://github.com/alibaba/nacos into jraft_naming 2020-08-10 23:33:50 +08:00
nov.lzf
a0a1486fa2
rsocket support and optimize client abstract (#3559)
* Add gprc support-> rpc Rsocket submit

* Add gprc support-> rpc Rsocket submit

* Add gprc support-> rpc Rsocket submit

* Add gprc support-> upgrade api client common jdk compiler to 1.8 for test Rsocket only

* Add gprc support-> rsocket client test code  submit

* Add gprc support-> rpc client factory optimize

* Add gprc support-> config client factory  rename

* Add gprc support-> rsocket submit

* Add gprc support-> rsocket client switch  submit

* Add gprc support-> rsocket support and optimize rpc client
2020-08-10 09:11:53 +08:00
mai.jh
b1db2be4c1
[ISSUE #3192] replace nacos-core module http client (#3535)
* core module replace http client

* replace http client
2020-08-06 22:01:36 +08:00
mai.jh
a64a356e45
[ISSUE #3192] replace nacos-config module http client (#3523)
* nacos-config module replace http client

* replace http client

* Remove redundant package import

* add license

* Delete JOSNUtils and use JacksonUtils instead; modify NacosAsyncRestTemplate exception handling.
2020-08-06 11:53:27 +08:00
nov.lzf
05bd51062d
Add gprc support-> server push ack (#3521)
* Add gprc support->  server push ack

* Add gprc support-> add lost code

* Add gprc support-> disconnect status change bugfix

* Add gprc support-> optimize rpc port
2020-08-05 10:21:33 +08:00
杨翊 SionYang
df4b006b36
Upgrade version to 1.3.2 (#3512) 2020-08-04 12:58:45 +08:00
liaochuntao
43f606519b
[#1839]add ContentType return while getConfig (#3470) 2020-07-31 14:53:49 +08:00
nov.lzf
3a777455e7
move rpc client from client to common and move request response to api ; solve conflict. (#3481)
* Add gprc support->  move rpc client from client to common and move request response to api

* Add gprc support->  conflict solved
2020-07-30 17:21:44 +08:00
杨翊 SionYang
5f528d8036
[ISSUE #1097] Naming support grpc server forward request (#3480)
* re subscribe service when reconnect

* change grpc instance maintain by heartbeat

* Add lifecycle for remoting workers

* Refactor naming client redo when reconnect

* Fix checkstyle and PMD

* Implement forward instance request to responsible server

* Implement forward heart beat to servers
2020-07-30 17:00:57 +08:00
wangwei
e4a478a1f9 [#1839]add ContentType return while getConfig 2020-07-29 14:58:28 +08:00
mai.jh
e9152a95df
fix get HttpRequestBase thread safe issues through BaseHttpMethod (#3469) 2020-07-29 13:10:14 +08:00
chuntaojun
e08a6adc49 fix code style 2020-07-29 01:53:44 +08:00
mai.jh
5b76fd0d56
[ISSUE #2858] Unified http client implementation, enhanced async request callback interface (#3452)
* Enhanced callback interface for asynchronous requests

* change class name

* add license

* change class name

* comment change

* delete AbstractCallback
2020-07-27 13:15:50 +08:00
mai.jh
75a06834f5
unified implementation of http client package division (#3400) 2020-07-21 14:53:03 +08:00
KomachiSion
79c8521bde Merge branch 'upstream-develop' into feature_support_grpc_core
# Conflicts:
#	client/src/main/java/com/alibaba/nacos/client/config/NacosConfigService.java
#	client/src/main/java/com/alibaba/nacos/client/config/http/HttpAgent.java
#	client/src/main/java/com/alibaba/nacos/client/config/http/MetricsHttpAgent.java
#	client/src/main/java/com/alibaba/nacos/client/config/impl/ClientWorker.java
#	config/src/main/java/com/alibaba/nacos/config/server/service/LongPollingService.java
2020-07-18 16:28:00 +08:00
杨翊 SionYang
3bde28294d
[ISSUE #1097] Naming support un/subscribe service by grpc. (#3373)
* For #1097, server support subscribe service.

* For #1097, client support subscribe service.

* For #1097, server and client support unsubscribe service.
2020-07-18 16:07:21 +08:00
mai.jh
63a4e30ae6
[ISSUE #3224]nacos-client module http client replace (#3348)
* nacos-client module http client replace

* fix code style problem

* add HashMap initialCapacity

* fix code style problem

* Modify the header object, keep the original response header to avoid modifying the original logic code

* fix code style problem

* naming http client request exception messages output change

* Merge code
2020-07-18 14:42:02 +08:00
Hu Zongtang
ff929b75ad
[ISSUE#3356]fix no throw exception when publish event but no subsciber. (#3363) 2020-07-17 16:12:08 +08:00
杨翊 SionYang
6c8dfd6ed3
Add naming support gRPC for query instance list and service info (#3352)
* Add naming support gRPC for query instance list and service info

* Update version to 1.4.0-SNAPSHOT
2020-07-16 18:08:25 +08:00