Commit Graph

835 Commits

Author SHA1 Message Date
杨翊 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
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
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
sanxun0325
787ea47cfe
[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>
2020-09-23 20:17:07 +08:00
shizhengxing
5df146e26b
[ISSUE #3871] fix description don't match the error (#3886) 2020-09-22 15:55:46 +08:00