Commit Graph

1238 Commits

Author SHA1 Message Date
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
杨翊 SionYang
5e545c8d37
[ISSUE#6272] Refactor Instance builder to build and handler request from http. (#6298)
* Add InstanceBuilder and IdGenerator

* Add new builder for http request and client beat

* Use new builder to build api instance.

* Modified according review comment.
2021-07-07 17:01:40 +08:00
shalk(xiao kun)
c973566db9
[ISSUE #6188]add ut for com.alibaba.nacos.naming.cluster (#6279)
* add ut for  com.alibaba.nacos.naming.cluster

* fix ut
2021-07-07 10:02:01 +08:00
杨翊 SionYang
5c375afe81
Add SPI for ClientBeatExtensionHandler (#6250) 2021-07-02 17:17:24 +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
杨翊 SionYang
eb2644fd37
Add SPI for upgrade checker. (#6217)
* Add SPI for upgrade checker.

* For checkstyle
2021-07-01 11:20:41 +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
Pixy Yuan
ea803a85ae
[ISSUE #6109] Using configuration to register upgrade helpers as conditional beans. (#6115) 2021-06-22 14:07:57 +08:00
杨翊 SionYang
4a474ce30a
For #6116. Refactor ClientManager and make register client and schedule checkTask is atomic. (#6118) 2021-06-22 09:49:59 +08:00
杨翊 SionYang
463a29f082
Develop fix ci (#6092)
* Fix github CI

* Add github IT
2021-06-17 15:15:54 +08:00
zhox
1b18f2c3ca
[code quality][nacos-address]improve the code of ServiceManager.java (#5919)
* [code quality][nacos-address]improve the code of ServiceManager.java

* remove unused import

* 1 fix with ServiceManager.java

* 1 fix with ServiceManager.java
2021-06-16 10:24:36 +08:00
杨翊 SionYang
6ca9c25a68
Fix Unit test in nacos naming module (#6031) 2021-06-15 14:00:17 +08:00
李晓双 Li Xiao Shuang
43f4d5d927
improve the code quality for naming (#6008) 2021-06-09 10:05:23 +08:00
Cherish 蔡
c025dc2c18
Feat resource parser group (#5889)
* feat(#5888): ResourceParser groupName change the splicing method.

* feat(#5888): add UT for NamingResourceParser and ConfigResourceParser
2021-06-09 09:48:18 +08:00
杨翊 SionYang
ae39b9502a
[ISSUE#5921] Adapt some Naming API after upgrading to v2.x. (#5972)
* Fix #5921, Adapt some Naming API after upgrading to v2.x.

* Fix pmd
2021-06-07 16:37:01 +08:00
李晓双 Li Xiao Shuang
90cb967763
improve the code quality for naming misc (#5944) 2021-06-07 14:30:24 +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
7a7f267ee9
improve the code quality for naming healthcheck (#5932) 2021-06-03 11:31:39 +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
Pixy Yuan
07f38a4763
[ISSUE #5927] Init health check status when loading snapshot of persistent instances. (#5928) 2021-06-03 09:35:01 +08:00
杨翊 SionYang
09c7293085
Stop do sync when sync is no need. (#5882) 2021-05-28 14:08:25 +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
tianqingzhao
3b3de662c5
Optimize code that all checks for empty service. (#5869)
* Optimize code that all checks for empty service.

* Add Agreement License.
2021-05-27 18:10:55 +08:00
Pixy Yuan
ebd6322e7e
[ISSUE #5872] Downgrade checker only focus on changing members. (#5873) 2021-05-27 17:44:30 +08:00
Pixy Yuan
34ed52192a
[ISSUE #5870] Prevent instance ephemeral value used by DoubleWrite. (#5871)
* Fix client beat task skip interceptors unexpectedly

* Refactor transform instance and service/cluster between v1/v2 model.

* [ISSUE #5870] Prevent instance ephemeral value used by DoubleWrite.
2021-05-27 17:41:38 +08:00
tianqingzhao
a233563e82
Optimize code that checks for empty service. (#5840) 2021-05-26 10:07:19 +08:00
tianqingzhao
5e40b78500
Remove any extra curly brace suffixes from the log (#5810) 2021-05-24 14:03:05 +08:00
Pixy Yuan
5c7730737a
[ISSUE #5798] Fix upgraded server cannot downgrade and upgrade again. (#5800)
* [ISSUE #5798] Fix upgraded server cannot downgrade and upgrade again.

* Fix NPE when delete ServiceMetadata of an non-exist service.
2021-05-21 11:06:49 +08:00
Pixy Yuan
93fd771271
[ISSUE #5782] Fix removal of instances when DoubleWrite removing service. (#5793) 2021-05-20 11:12:03 +08:00
Pixy Yuan
c858139329
[ISSUE #5775] Persist the cluster upgrade states to disk. (#5792) 2021-05-20 11:11:07 +08:00
李晓双 Li Xiao Shuang
35c8035861
[ISSUE #5774] improve the code quality for controllers (#5784)
* improve the code quality for controllers

* improve the code quality for controllers
2021-05-20 11:05:54 +08:00
李晓双 Li Xiao Shuang
022fb6ac68
improve the code quality for consistency (#5783) 2021-05-20 11:04:56 +08:00
李晓双 Li Xiao Shuang
08db47ce84
magic number (#5781) 2021-05-20 09:51:52 +08:00
FlyingLambrog
5e80d12932
Add unit tests for class naming.core.ClusterOperatorV2Impl (#5763) 2021-05-18 19:52:47 +08:00
Pixy Yuan
4655dded44
[ISSUE #5767] Cleanup data of v1 after disable DoubleWrite. (#5772) 2021-05-18 19:48:07 +08:00
Pixy Yuan
160ed5b360
[ISSUE #5756] Support to specify ephemeral value for createService (#5757)
* [ISSUE #5756] Support to specify ephemeral value for `UpgradeOpsController.createService` .

* [ISSUE #5756] Fix PathVariable is not supported by DistroFilter.
2021-05-17 20:19:43 +08:00
haoyann
536da8214c
remove duplicate client expire check (#5751) 2021-05-17 10:10:54 +08:00
FlyingLambrog
5cb3b6db20
Add unit tests for package com.alibaba.nacos.naming.core.v2.cleaner (#5750) 2021-05-17 10:08:54 +08:00
xiaoheng1
2783167bd3
fix #5724 Extract constants in JacksonSerializer (#5725) 2021-05-17 09:48:46 +08:00
Pixy Yuan
2b076faa63
[ISSUE #5718] Add some APIs for upgrade ops. (#5719)
* [ISSUE #5718] Add some APIs for upgrade ops.

* [ISSUE #5718] Optimize textual field output of metrics API.
2021-05-17 09:47:03 +08:00
xiaoheng1
b33134cf50
Extract constants in HealthController (#5717)
* fix #5715 Extract constants in HealthController

* fix #5715 Extract constants in HealthController

* add license
2021-05-17 09:44:23 +08:00
李晓双 Li Xiao Shuang
fdaf1d9cd9
add unit test for SpiImplPushExecutorHolder (#5716) 2021-05-17 09:42:48 +08:00
李晓双 Li Xiao Shuang
2bc782ee9c
add unit test for ServiceChangeEvent (#5714) 2021-05-17 09:42:10 +08:00
李晓双 Li Xiao Shuang
1974cf01b3
fix magic number (#5709) 2021-05-14 14:46:59 +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
Pixy Yuan
98aae398f8
[ISSUE #5692] Make service removal sensed by double write. (#5706)
* [ISSUE #5692] Add double write task sensing removal of v2 service.

* [ISSUE #5692] Add double write task sensing removal of v1 service.

* [ISSUE #5692] Make async checker of services sensing removal of v1 service.
2021-05-14 09:54:52 +08:00
mingyang feng
64601e0581
Fixes logical judgment expression #5683 (#5685)
* One aspect of code quality is to have better expressions.

* Update ClientBeatProcessor.java

* Update ClientBeatProcessor.java
2021-05-14 09:39:36 +08:00
杨翊 SionYang
d929c2e328
Add monitor about Distro (#5686) 2021-05-12 16:42:37 +08:00
Pixy Yuan
b6d96b69c7
Fix service group name when upgrading. (#5674)
* [ISSUE #5671] Prefer serviceV2.groupName using groupName in serviceV1.name

* [ISSUE #5671] Add groupName to service when creating by v1 operator
2021-05-11 20:41:18 +08:00
JackSun-Developer
af0f01d21b
[#5600] The class com.alibaba.nacos.naming.core.DistroMapperTest lacks Unit Test. (#5605) 2021-05-10 11:44:41 +08:00
FlyingLambrog
af0c2f5fcb
Add unit test for class naming.consistency.persistent.impl.NamingKvStorage (#5568) 2021-05-10 11:43:51 +08:00
JackSun-Developer
5395237062
[#5581] The class DataStore lacks a lot of Unit Tests. (#5582) 2021-05-10 11:10:56 +08:00
李晓双 Li Xiao Shuang
16e80ec91f
add unit test for v2 index (#5563) 2021-05-10 10:53:15 +08:00
李晓双 Li Xiao Shuang
0541ba8deb
[ISSUE #5522] add unit test for MetadataOperation (#5608)
* add unit test for MetadataOperation

* update method name
2021-05-10 10:47:28 +08:00
李晓双 Li Xiao Shuang
b478166d1c
add unit test for NamingMetadataManager (#5609) 2021-05-10 10:47:09 +08:00
李晓双 Li Xiao Shuang
7f924b58f1
add unit test for NamingMetadataOperateService (#5610) 2021-05-10 10:46:52 +08:00
李晓双 Li Xiao Shuang
8fa60671e9
add unit test for ServiceMetadata (#5611) 2021-05-10 10:46:29 +08:00
李晓双 Li Xiao Shuang
b70549d6e3
add unit test for ServiceMetadataSnapshotOperation (#5613) 2021-05-10 10:46:13 +08:00
李晓双 Li Xiao Shuang
4bc80436da
add unit test for ServiceMetadataProcessor (#5614) 2021-05-10 10:45:06 +08:00
孙继峰
818d37b71c
delete duplicated dependency (#5622) 2021-05-10 10:43:58 +08:00
JackSun-Developer
52278a4849
[#5554] Fix Unit Test for com.alibaba.nacos.naming.core.DomainsManager.java (#5555) 2021-04-30 18:06:29 +08:00
JackSun-Developer
1b1975a2fd
[#5551] Fix Unit Test for com.alibaba.nacos.naming.healthcheck.ClientBeatCheckTask (#5552) 2021-04-30 18:06:12 +08:00
JackSun-Developer
ca7e4cc780
[#5549] Fix Unit test for NamingSnapshotOperationTest.java (#5550) 2021-04-30 18:05:45 +08:00
JackSun-Developer
7d110e665e
[#5545] naming/src/test/java/com/alibaba/nacos/naming/consistency/persistent/ClusterVersionJudgementTest.java unit tests cannot pass, and have bad code style. (#5546) 2021-04-30 15:48:50 +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
KomachiSion
bd8ac55386 rollback subscribers push data immediately to protect push frequent. 2021-04-27 15:38:26 +08:00
李晓双 Li Xiao Shuang
6c20d35af8
add unit test for PersistentConsistencyServiceDelegateImpl (#5491)
* add unit test for PersistentConsistencyServiceDelegateImpl

* add unit test for PersistentConsistencyServiceDelegateImpl

* add unit test for PersistentConsistencyServiceDelegateImpl
2021-04-27 10:12:02 +08:00
杨翊 SionYang
71a0037f50
Refactor Distro Config as singleton and replace GlobalConfig (#5486)
* Refactor Distro Config as singleton and replace GlobalConfig

* Use configed timeout for distro sync and verify

* Fix IT error.
2021-04-25 16:50:10 +08:00
杨翊 SionYang
267d67190b
Some enhancement for logs and ability. (#5482) 2021-04-25 13:08:24 +08:00
JackSun-Developer
ee8f636db1
[#5467] com.alibaba.nacos.naming.consistency.DelegateConsistencyServiceImpl lacks a lot of Unit Tests. (#5468) 2021-04-23 19:14:37 +08:00
brothelul
6c270cb3ac
[ISSUE #5078] set default pageSize to 10000 for getting all the subscribers in other server node. (#5424)
* hardcode to get all the subscribers by set the pageSize to 10000

* change the default pageSize from 10000 to 1000

* change the param of getSubscriber to support the pageNo and pageSize
2021-04-23 09:52:04 +08:00
Pixy Yuan
758b8b3942
[ISSUE #5442] change state to UP when received status form old version server (#5445)
* [ISSUE #5442] change state to UP when received status form old version server

* [ISSUE #5442] Optimize server status received logic
2021-04-22 16:39:19 +08:00
MajorHe1
0a4f7f5e75
[ISSUE #5361] check isUseGrpcFeatures() when subscribe service using GRPC (#5411)
* [ISSUE #5361] check isUseGrpcFeatures() when subscribe service using GRPC

* [ISSUE #5361] add a GrpcRequestFilter to check isUseGrpcFeatures() when using GRPC protocol

* [ISSUE #5361] add a judgement whether request instance of AbstractNamingRequest

* [ISSUE #5361] reformat code using nacos-code-style-for-idea.xml
2021-04-22 10:12:57 +08:00
杨翊 SionYang
4c1b879d00
For #5419, Fix Nacos 2.0 client auth may invalid for non public namespace. (#5422) 2021-04-20 19:29:59 +08:00
杨翊 SionYang
3a4c8efb14
For #5404, Fix frequently udp push for client 1.X (#5413) 2021-04-20 09:57:14 +08:00
杨翊 SionYang
73eea9c0bb
Use ThreadUtil and EnvUtil replace Runtime.availableProcessor (#5388) 2021-04-16 17:32:14 +08:00
MajorHe1
ec2528f475
[ISSUE #5361] check isUseGrpcFeatures() when register instance using GRPC protocol (#5365)
* [ISSUE #5361] check isUseGrpcFeatures() when register instance using GRPC protocol

* [ISSUE #5361] change hint message when register instance failed using GRPC
2021-04-16 10:34:58 +08:00
JackSun-Developer
02ebe0190e
[#5350] In version 1.4.1, modify the Server is Down prompt to the specific reason for the machine failure and send it to the user (#5360) 2021-04-14 10:02:49 +08:00
KomachiSion
77990982ef Solve Conflict 2021-04-13 14:44:21 +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
Jisfeng
d9dff86f7a
fix subscriber app unknown (#5324) 2021-04-12 10:01:19 +08:00
杨翊 SionYang
a50d9678ae
Push support config some parameters (#5307) 2021-04-08 17:25:31 +08:00
Wu Zhiguo
9bcb901174
Fix some typo (#5260)
* fix some typo

* rollback some comment format
2021-04-03 12:57:57 +08:00
杨翊 SionYang
d146e057c4
Fix ThreadPool usage problem and add some monitor for distro (#5237) 2021-03-30 16:27:41 +08:00
杨翊 SionYang
1969f00aa5
Fix #5204, Fix query error when pageNo is larger than service number. (#5228) 2021-03-29 15:31:25 +08:00
李晓双 Li Xiao Shuang
d5b9b908a0
[ISSUE #5096] Add unit tests to package com.alibaba.nacos.naming.healthcheck in nacos 2.0 (#5170)
* add unit test for healthcheck

* add newline

* delete javadoc

* add Licensed

* add verify

* normalize
2021-03-26 10:01:06 +08:00
Pixy Yuan
db49388f62
[ISSUE #5169] Fix instance beat run only by responsible server. (#5179)
* [ISSUE #5169] DISTRO filter support `beat` parameter

For old version clients.

* [ISSUE #5169] Only responsible server need to check instance heartbeats
2021-03-25 09:48:00 +08:00
杨翊 SionYang
fb9300d87f
Nacos2.0 adapt batch instance metadata operate (#5141)
* Rebuild ui

* Nacos2.0 adapt batch instance metadata operate
2021-03-19 11:48:06 +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
杨翊 SionYang
f1cf643b81
Try to fix #4573,#4629. Jraft leader status check error. (#5129) 2021-03-18 11:11:45 +08:00
杨翊 SionYang
00032676e9
[ISSUE#4829] Remove instance when distro and raft remove instances data. (#5131)
* Fix #4829, remove instance when distro and raft remove instances data.

* Remove synchronized
2021-03-18 09:53:48 +08:00
haoyann
fd57e08897
perfect KvStorage doc (#5112) 2021-03-16 16:54:17 +08:00
Pixy Yuan
ed1f244e8b
[ISSUE #5109] Fix HealthCheckCommonV2 sometimes will not finish the c… (#5110)
* [ISSUE #5109] Fix HealthCheckCommonV2 sometimes will not finish the checking flag.

* [ISSUE #5109] Add a warning log to a maybe-unreachable code at tcp check processor.
2021-03-16 16:53:30 +08:00
JackSun-Developer
bb9e37491f
[ISSUE #4983] Add unit tests to package com.alibaba.nacos.naming.core.v2.service in nacos 2.0 (#5107) 2021-03-16 09:49:59 +08:00
Pixy Yuan
e6402bc2a8
[ISSUE #5087] Enabled healthy protection threshold when pushing instance data. (#5088) 2021-03-12 17:48:47 +08:00
杨翊 SionYang
8a4b885fd6
Use hook to monitor and report push result. (#5091)
* Add subscribe count monitor.

* Use hook to monitor and report push result.

* Fix ip count monitor will become negative number
2021-03-12 17:48:14 +08:00
Pixy Yuan
8bc49c39fc
[ISSUE #5070] Fix catalog instance listing, make selectInstancesWithHealthyProtection isolated. (#5085) 2021-03-12 14:49:07 +08:00
Pixy Yuan
4acb6957f8
[ISSUE #5080] Fix health checker pre-start logic. (#5081) 2021-03-12 14:47:17 +08:00
haoyann
25a8bf696b
[ISSUE #4936]Enhance the message when NamingKvStorage#get error (#5077)
* Enhance the message when NamingKvStorage#get error

* enhance get and delete operation
2021-03-12 10:51:35 +08:00
Pixy Yuan
85942358ba
[ISSUE #5067] Listing instances and marked as healthy state when heal… (#5069)
* [ISSUE #5067] Listing instances and marked as healthy state when healthy protection threshold reached.

Whatever state the instance is.

* [ISSUE #5067] Fix code formatting.
2021-03-10 16:28:22 +08:00
Pixy Yuan
5c8559b8ba
[ISSUE #5054] Support naming instance list with healthy protection using service.protectionThreshold. (#5055)
* [ISSUE #5054] Support naming instance list with healthy protection using service.protectionThreshold.

* [ISSUE #5054] Fix code formatting.
2021-03-09 11:11:40 +08:00
KomachiSion
cdc7b67292 Fix verify callback build error. 2021-03-08 18:01:10 +08:00
KomachiSion
ff0838268a Fix distro client verify return error code problem. 2021-03-08 17:48:54 +08:00
赵延
b1c39a6354
[ISSUE-#4306] StringJoiner should consider '@@'. (#5022)
* StringJoiner should consider '@@'.

* StringJoiner should consider '@@'.
2021-03-08 11:43:26 +08:00
杨翊 SionYang
eb36581c2c
Refactor and enhance for client distro protocol (#5017)
* Distro check dataStorage status before send verify data.

* Add source server address info for distro verify.

* Refactor Distro verify task.

* Refactor Distro client verify task
2021-03-05 11:45:56 +08:00
KomachiSion
328f905cb3 Fix Unit test error 2021-03-04 19:33:49 +08:00
Pixy Yuan
cab401d5b6
Fix #5001. Returns empty list when service has no subscribers. (#5004) 2021-03-04 18:54:05 +08:00
杨翊 SionYang
121b07be7d
Single push to client when client subscribe service. (#4998) 2021-03-03 17:59:01 +08:00
杨翊 SionYang
5c7c28e191
For #4989, fix throws NPE when some metadata value is null. (#4994) 2021-03-03 15:08:16 +08:00
杨翊 SionYang
99cb98d1cf
For #4987, Fix throw exception when build ClientInfo with empty user-agent. (#4993) 2021-03-03 14:32:28 +08:00
JackSun-Developer
02195ef00b
Add unit tests for package com.alibaba.nacos.naming.core.v2.client.impl (#4978) 2021-03-01 16:41:32 +08:00
赵延
d8dbf540d2
fix one service init twice problem. (#4968) 2021-03-01 10:01:19 +08:00
KomachiSion
e1cbdc490e For checkstyle 2021-02-26 16:45:23 +08:00
JackSun-Developer
69413e3b73
Add unit tests for package com.alibaba.nacos.naming.core.v2.client.manager.impl (#4967) 2021-02-26 16:44:35 +08:00
KomachiSion
158f2b419c Fix serialize error problem 2021-02-26 14:13:43 +08:00
杨翊 SionYang
d9e21cfa78
Add ClientSyncAttributes to sync some client metadata to other server. (#4961) 2021-02-26 10:17:51 +08:00
JackSun-Developer
331f539822
Add EphemeralIpPortClientManager unit test (#4951) (#4951)
Co-authored-by: sunli <sunli@B-3GFAMD6M-0110.local>
2021-02-25 10:37:27 +08:00
杨翊 SionYang
4e455680f3
Add push unit test (#4939) 2021-02-24 14:40:03 +08:00
杨翊 SionYang
3550d8e5e4
Wrapper push data make executors can do operation. (#4938) 2021-02-24 14:12:12 +08:00
杨翊 SionYang
8bc443ea48
Add spi for PushExecutor to support extend (#4935) 2021-02-23 20:46:08 +08:00
杨翊 SionYang
65224006b2
Fix rpc push error for ipv6 (#4934) 2021-02-23 17:12:56 +08:00
杨翊 SionYang
b26acdc726
Fix NPE when client factory init (#4923) 2021-02-22 14:47:45 +08:00
杨翊 SionYang
2b4142d428
Add ClientFactory to extend client (#4922)
* Move Constants to constants package

* Add ClientFactory to extend
2021-02-22 14:33:06 +08:00
杨翊 SionYang
3af5c03c52
Fix double write NPE (#4886) 2021-02-05 14:02:24 +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
JackSun-Developer
9ce5501b8d
[ISSUE #3876][NA] failed to update serviceName: DEFAULT_GROUP@@prod-zipkin (#4864) 2021-02-05 09:16:13 +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
杨翊 SionYang
d7a38774a4
Adapt some naming openAPI (#4832)
* Adapt HealthController openAPI

* Adapt OperatorController openAPI

* Adapt all necessary openAPI in ServiceController
2021-01-29 15:00:05 +08:00
杨翊 SionYang
01ea27501e
Full support for registering custom instances (#4828)
* Move out `cluster` from extendInfo in InstancePublishInfo

* Fix unit test error

* Rename instanceId in instanceMetadata to metadataId

* Fix unit test

* Adapt 1.X client instance Id

* Full support for registering custom instances
2021-01-28 20:20:01 +08:00
杨翊 SionYang
c275fc310e
Fix #4788, Fix client id judgement error for ipv6 (#4815) 2021-01-28 12:03:08 +08:00
KomachiSion
1a2088cd69 Fix death loop when 2.0 restart 2021-01-27 20:33:42 +08:00
KomachiSion
8f94646bee Split double write task 2021-01-27 20:33:42 +08:00
KomachiSion
40dec33ff6 Add double write logic for downgrade 2021-01-27 20:33:42 +08:00
KomachiSion
cecf0c0893 Add double write logic for upgrade 2021-01-27 20:33:42 +08:00
赵延
2db2a8544d
[ISSUE-#4762] Naming health check thread num support user define it by self. (#4764)
* NAMING_HEALTH_EXECUTOR support user define it by self.

* promise less one thread to process the health check task.
2021-01-27 13:36:28 +08:00
杨翊 SionYang
a44bf67402
Add Http and MySQL health check. (#4750)
* Add Http health check.

* Add Tcp as ClusterMetadata default checker

* Fix console can update cluster metadata if port no change

* Add MySQL health check.
2021-01-19 19:30:02 +08:00
杨翊 SionYang
c9686a6ae4
Support update cluster metadata. (#4733) 2021-01-18 17:41:45 +08:00
杨翊 SionYang
24850682e0
Sync health check status for persistent instance. (#4728)
* Sync health check status for persistent instance.

* For checkstyle
2021-01-18 15:09:09 +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
xbj
d462eaa1b7
[ISSUE #3922] method createServiceIfAbsent in ServiceManager require sync (#4713)
* fix_#3922

method createServiceIfAbsent in ServiceManager require sync #3922

* roll back createServiceIfAbsent
2021-01-18 09:19:12 +08:00
赵延
fac3bd4bcf
Merge pull request #4700 from horizonzy/fix-4699
[ISSUE-#4699] Fix metadata batch operation may delete instance problem.
2021-01-15 21:12: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
horizonzy
1c7780248e delete comment. 2021-01-14 16:43:05 +08:00
horizonzy
6cdead245e fix metadata batch operation may delete instance problem. 2021-01-14 16:32:15 +08:00
杨翊 SionYang
67eb36976e
Upgrade to 1.4.1 (#4695) 2021-01-14 11:36:57 +08:00
KomachiSion
995dce0bc0 Solve conflict from develop 2021-01-13 16:08:54 +08:00
KomachiSion
902f501fac Merge remote-tracking branch 'upstream/develop' into feature_support_grpc_core
# Conflicts:
#	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
#	config/src/main/java/com/alibaba/nacos/config/server/service/notify/AsyncNotifyService.java
#	naming/src/main/java/com/alibaba/nacos/naming/push/ClientInfo.java
#	naming/src/main/java/com/alibaba/nacos/naming/push/PushService.java
2021-01-13 15:53:50 +08:00
liaochuntao
2eac367970 fix: fix Jraft WriteRequest type problem. 2021-01-13 14:39:00 +08:00
杨翊 SionYang
998947315e
Add server identity to replace user-agent white list. (#4683) 2021-01-13 14:12:56 +08:00
Catcher Wong
7b81ea666e
naming push service support CSharp client (#4670) 2021-01-12 19:45:56 +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
catcherwong
52931abe73 Add CSharp Client 2021-01-10 16:50:41 +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
KomachiSion
11210c057d Merge remote-tracking branch 'upstream/develop' into 2.0.0-sync-dev 2021-01-07 17:09:30 +08:00
杨翊 SionYang
ad1a6d1b65
Add some metrics and logs (#4649)
* Fix service metadata update failed problem.

* random connect to server

* Add some metrics and log for service and client

* Add some metrics and log for naming task worker
2021-01-07 17:04:26 +08:00
杨翊 SionYang
ac73e7395e
Support register persistent instance and tcp health check (#4636)
* Fix client beat error in cluster mode

* Add health check for persistent ip port client

* Add health check for persistent ip port client

* Fix client beat error in cluster mode

* Migrate default TCP health check v1.x to v2.x

* Fix unit test error

* Fix dump persistent client snapshot error problem

* Fix load persistent client snapshot error problem

* Fix subscribe error for client id
2021-01-06 16:12:37 +08:00
mai.jh
2af6784f55
for #4594,#4594 Fix IO close problem. (#4606) 2020-12-31 15:48:26 +08:00
KomachiSion
7f3a17c620 Solve conflict with develop branch. 2020-12-31 14:24:41 +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
liaochuntao
6e0a94be3e
refactor: 持久化实例 (#4603) 2020-12-30 13:58:55 +08:00
杨翊 SionYang
9b9d1cb565
Execute Distro transport asynchronously. (#4595) 2020-12-29 18:09:20 +08:00
杨翊 SionYang
00d4363ad0
Do not retry distro sync again if member has removed. (#4586) 2020-12-29 13:51:26 +08:00
杨翊 SionYang
9d1fb57794
Refactor SubscribeManager with NamingSubscriberServiceAggregationImpl (#4578) 2020-12-26 15:58:59 +08:00
赵延
f486561bc9
Fix some typo and code enhance. (#4550)
* fix some typo and code enhance.

* shared grpcExecutor between GrpcSDKServer and GrpdClusrerServer

* code style format

* fix compile problem

* code style format
2020-12-24 20:16:22 +08:00
Gagharv
ce57b98332
[ISSUE-#3005] fix ClusterController 403 and some display wrong (#4512)
* fix 3005

* fix 3005
2020-12-23 19:48:03 +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
赵延
638d89b70a
[ISSUE-3917] Enhance service detail console web, add metadata filter (#4439)
* add metadata filter at back-end of nacos naming console

* code enhance

* 添加input,tag等组件,初步布局

* 实现页面交互,可添加,删除filter

* 更新filter向后端发起请求获取数据

* 实现更新更改过滤条件,刷新表格

* 添加国际化配置

* 输入完后按空格直接添加,没输入的input给出响应

* 提交单元测试,更新打包后的静态资源

* 修改配置 解决生产环境上sourcemap不生效的问题

* 用hook重构组件InstanceFilter

* 多个集群各自使用过滤

* 解决多集群时,元数据过滤无法单独使用的问题

* revert backend code

* revert metadata filter test

* 只从客户端已获取到的实例中过滤

* 变动更新到打包后的mian.js

Co-authored-by: jzhishu <john1994@foxmail.com>
2020-12-21 10:19:42 +08:00
neighbor-uncleWang
2f50f53da6
Fixed issue where null values could not be converted to base parameters (#4527) 2020-12-21 09:43:16 +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
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
杨翊 SionYang
7d9c103f0d
Fix can't query non-default-group problem for catalog API (#4502) 2020-12-16 17:28:36 +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
杨翊 SionYang
791d872073
Refactor udp push service (#4492)
* Rename PushExecuteService -> PushExecutor

* Move remote.handler to remote.rpc.handler

* Move out AckEntry and AckPacket

* Add UdpConnector in remoting

* Use new udp push to push service from v2.x to client v1.x

* Fix client v1.x subscriber status error in v2.x
2020-12-15 18:10:32 +08:00
赵延
2546f052e4
[ISSUE-#4467] Fix snowflake id problem (#4468)
* fix snowflake id problem

* revert code format
2020-12-15 12:56:05 +08:00
haoyann
ec99590500
fix service/list fromIndex > toIndex (#4486) 2020-12-15 12:55:46 +08:00
赵延
6bf46e9c4d
[ISSUE-#4436] Fix parse label expression error problem (#4465)
* fix parse label expression error problem

* ignore VariableDeclarationUsageDistance checkstyle

* fix check style
2020-12-14 10:23:29 +08:00
杨翊 SionYang
91082afe37
Refactor PushService to separate subscriber logic. (#4461)
* Add Subscriber Service

* Remove deprecated method and classes

* Refactor PushService to separate subscriber logic.
2020-12-11 23:28:30 +08:00
杨翊 SionYang
93ef110998
Adapt all openAPI in for InstanceController. (#4441)
* Adapt get instance detail openAPI

* Adapt list statuses openAPI

* Adapt patch instance API

* For checkstyle.
2020-12-09 23:43:15 +08:00
KomachiSion
8d4397d54b Save ephemeral status in service metadata. 2020-12-09 15:06:35 +08:00
KomachiSion
3026120c2b Adapt create service and delete service in ServiceController 2020-12-09 15:06:35 +08:00
KomachiSion
8877bd3460 Fix the error in determining the type of deleted metadata 2020-12-09 15:06:35 +08:00
KomachiSion
cd7a2d0ce6 Fix the error in determining the type of deleted metadata 2020-12-09 15:06:35 +08:00
KomachiSion
59f38019a6 Fix Double instance when client reconnect 2020-12-09 15:06:35 +08:00
liaochuntao
81d4a6d2fd
fix: fix bug (#4411) 2020-12-05 01:57:17 +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
049b4e4e61 Sync code from upstream/develop 2020-12-03 20:06:12 +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
KomachiSion
f1ee1ba968 Fix some compatible problem for 1.x client (#4397)
* Adapt list service v1 open API

* Adapt push all logic

* Fix NPE if register Instance without metadata for v1.x.

* Add some comment for Metadata event

* Fix can't auto register instance after auto deregister when different service with same ip port.
2020-12-03 18:30:53 +08:00
杨翊 SionYang
37a6dd991d
Fix 1.X openAPI query can't auto add default group problem (#4387) 2020-12-02 16:30:29 +08:00
杨翊 SionYang
2728df72f2
Fix some bugs for naming module (#4381)
* use instance id get instance metadata

* Fix Disconnection can't notify to naming module.

* Support subscribe specified cluster instance for 1.x

* Fix 2.0 client subscribe service can't be notify problem

* Fix only can search the first service problem

* Fix auto clean empty service can't work problem
2020-12-01 21:31:18 +08:00
paderlol
0462644a3c
Naming global config unified use EnvUtils tool (#4376)
* Add the function of automatically clearing empty services

* Fix checkstyle issue

* Delete the remove event of the service

* Fix checkstyle issue

* Add some task configurations for cleaning

* Adjust the configuration to the Naming module

* Naming global config unified use EnvUtils tool
2020-12-01 20:16:20 +08:00
paderlol
f9826d3c9d
Add some task configurations for cleaning (#4369)
* Add the function of automatically clearing empty services

* Fix checkstyle issue

* Delete the remove event of the service

* Fix checkstyle issue

* Add some task configurations for cleaning

* Adjust the configuration to the Naming module
2020-12-01 12:03:54 +08:00
杨翊 SionYang
8f009b30bd
Add metadata dump and load jraft snapshot (#4367)
* Metadata support dump and load raft snapshot

* Fix metadata serialize error for hessian

* For checkstyle
2020-11-30 19:14:12 +08:00
paderlol
c1e4068dfe
Add the function of automatically clearing empty services (#4363)
* Add the function of automatically clearing empty services

* Fix checkstyle issue

* Delete the remove event of the service

* Fix checkstyle issue
2020-11-30 15:23:25 +08:00
杨翊 SionYang
ba93573eb1
Refactor auto cleaner to adapt clean metadata (#4354)
* Add Auto clean expired metadata

* Refactor and move old EmptyServiceAutoCleaner
2020-11-27 17:03:17 +08:00
杨翊 SionYang
826450532e
Move namespace cache to ServiceManager (#4345) 2020-11-26 20:53:20 +08:00
Mark4z
6ad8da4f68
fix service list can not search by groupName only (#4308)
* fix service list can not search by groupName only

* fix service list can not search by groupName only

* fix checkStyle

* add ut for NamingUtils
2020-11-25 15:01:18 +08:00
liaochuntao
70a26959e3
[ISSUE #4320] Fixing the Naming consistency module could not start in cluster mode (#4321)
* refactor: refactor issue #4291

* fix: fixing the Naming consistency module could not start in cluster mode
2020-11-25 11:10:09 +08:00
liaochuntao
a43bf8fcfb
refactor: refactor issue #4291 (#4292) 2020-11-23 09:49:08 +08:00
赵延
8500279c79
[ISSUE-#4294] Use EnvUtils.setEnvironment to replace ApplicationUtils.injectEnvironment (#4295)
* use EnvUtils.setEnvironment to replace ApplicationUtils.injectEnvironment.

* remove unuseful import

* remove unuseful import
2020-11-21 19:03:51 +08:00
赵延
886715b2d7
[ISSUE-#4232] Use EnvUtil to replace ApplicationUtils about env operation (#4281)
* use EnvUtil to replace ApplicationUtils about env operation

* remove unuse import

* remove unuse import

* remove profile usage
2020-11-21 06:54:05 +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
杨翊 SionYang
9f0406a1a6
Fix some push problem (#4285)
* Fix client can query disable instances and server push disable instances problem

* Fix client reconnect but no re-subscribe service problem
2020-11-20 16:07:56 +08:00
杨翊 SionYang
1546ff6206
Support update instance metadata and sync by raft (#4279) 2020-11-20 10:35:33 +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
杨翊 SionYang
d4b2d2f146
Adapt update service metadata api. (#4260)
* Adapt update service metadata api.

* For checkstyle
2020-11-18 21:09:47 +08:00
liaochuntao
bcd62d5574
Refactor issue 4228 (#4229)
* refactor: adjusts conformance protocol layer objects

* feat: repair problems

* refactor: reafctor consistency model
2020-11-16 09:58:52 +08:00
mai.jh
a47e726f95
for #4199, Replace the http client implementation used by DistroFilter. (#4211) 2020-11-12 20:17:43 +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
赵延
4e26b0da84
move relation doc info to naming module. (#4193) 2020-11-11 10:31:35 +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
邪影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
赵延
4cd19990f2
[ISSUE-#4066] Make serviceNameList followed string order (#4087)
* make serviceNameList followed string order

* code format
2020-11-05 09:54:25 +08:00
杨翊 SionYang
ccea6ee112
Upgrade to 1.4.1-SNAPSHOT (#4135) 2020-11-05 09:43:33 +08:00
赵延
c38ee0b34c
com.alibaba.nacos.naming.controllers.ServiceController.list param groupName support '*' to get all group serviceName (#4133) 2020-11-05 09:23:02 +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
liaochuntao
4203eec7a4
fix: fix issue #4110 (#4111) 2020-11-01 19:37:29 +08:00
Xinda
29d82c4a1a
fix: typo fix in ServiceManager (#4101) 2020-10-31 13:14:45 +08:00
杨翊 SionYang
d8b3c1ecf2
Async some time-consuming operation and add metadata (#4099)
* async update ip port client heart beat

* async push service data

* Remove unused class

* Judge ip port tag by server member ability

* Remove unused codes in HealthCheckCommon

* Add metadata

* Get client beat check timeout from metadata first.
2020-10-30 17:00:09 +08:00
sanxun0325
2fef8f2466
refine GoClient value (#4043) 2020-10-29 16:19:28 +08:00
赵延
5776775325
fix com.alibaba.nacos.naming.core.ServiceManagerTest#testUpdateIpAddressesNoInstance unit test can't pass (#4069) 2020-10-28 14:00:55 +08:00
赵延
bdbb3de62e
[ISSUE-#4056] Ignore load data from remote when standalone mode (#4061)
* ignore load data from remote when standalone mode

* refactor. move standalone mode check from DistroLoadDataTask to DistroProtocol

* rename variable loadCompleted to isInitialized
2020-10-26 19:58:07 +08:00
杨翊 SionYang
6eeeb76473
Develop fix jraft null datum (#4048)
* Fix old raft sync null datum problem

* Fix TimerContext NPE problem
2020-10-22 15:40:00 +08:00
KomachiSion
cf607a47cd For checkStyle 2020-10-21 09:45:14 +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
liaochuntao
b6bc4bb12f
Fix issue 2866 (#3984)
* improvement: merge upstream/develop

* feat: merge upstream develop

* fix: fix issue 2892
2020-10-14 09:52:18 +08:00
KomachiSion
018e0bff8c refactor instance heart beat storage 2020-10-12 17:43:56 +08:00
KomachiSion
72f3476c57 Add get client data after verify failed 2020-10-12 16:34:33 +08:00
赵延
49ff149dfb
1.fix unit test can't pass (#3956)
2.update the unit test
2020-10-12 13:13:07 +08:00
赵延
c0496b364e
[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
2020-10-12 12:19:02 +08:00