Commit Graph

30 Commits

Author SHA1 Message Date
liqipeng
f0104c0ea0
[ISSUE #8144] add volatile modifier to ServerListManager.serversFromEndpoint(2.x) (#8146)
* add volatile modifier to `ServerListManager.serversFromEndpoint`

* optimize `onReceiveChecksums` in race condition

* judge responsible server in same localAddress; add `volatile` modifier for `EnvUtil.localAddress`
2022-04-18 11:33:08 +08:00
杨翊 SionYang
26ef77378c
For #7930. Default close support upgrade from 1.X feature. (#8016)
* For #7930. Default close support upgrade from 1.X feature(double write and old raft).

* Fix use still use old raft when close upgrade feature.

* UpgradeJudgement subscribe member change event only open upgrade feature.
2022-03-28 14:15:18 +08:00
KomachiSion
9020bb9d6e Move plugin config to nacos-auth-plugin-impl module. 2022-01-26 11:54:52 +08:00
ZZQ的
721061a4db
[ISSUE #6302] replace common-lang3 (#6313) 2021-07-12 09:27:03 +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
brotherlu-xcq
9ab1d62a06
[code quality] [nacos-sys] [env/file] the constants export, redundant symbol remove (#5907) 2021-06-01 11:07:05 +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
孙继峰
ea47adc124
[issue #5765] fix localhost not match ip (#5787) 2021-05-21 11:02:04 +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
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
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
杨翊 SionYang
5fa05aef52
Upgrade dependency version to fix security alert (#5506) 2021-04-27 15:16:54 +08:00
杨翊 SionYang
73eea9c0bb
Use ThreadUtil and EnvUtil replace Runtime.availableProcessor (#5388) 2021-04-16 17:32:14 +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
paderlol
903ff0f546
Fix the configuration file loading issue #4556 #4541 (#4590) 2020-12-29 09:52:07 +08:00
haoyann
b25b23e5f5 fix NOW_WATCH_JOB_CNT record WatchDirJob count 2020-12-13 19:51:33 +08:00
赵延
1e39f39a91
when deleteFile, just check the file is exists. (#4402) 2020-12-04 09:12:54 +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
杨翊 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
赵延
dc266b03bc
[ISSUE-#4258] Fix wrong path when -Dspring.config.location not set (#4259)
* fix spring.config.location is nullapplication.properties when -Dspring.config.location is not set in env

* fix wrong path when -Dspring.config.location not set

* modify default file resource method name

* fix "/" magic value

* change the way of get file

* not judge pathSplit by self, use Paths.get(a, b);

* when spring.config.location is not set, use {nacos.home}/conf/application.properties to cover it.

* refactor code

* code quality enhance

* just use two level to load conf. {spring.config.location}/application.properties -> classpath:/application.properties

* code clean
2020-11-25 17:02:21 +08:00
赵延
a3597de1bc
remove env operation code in ApplicationUtils (#4298) 2020-11-23 13:44:28 +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
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
赵延
44641d9431
fix twice invoke and the value is not same. (#4271) 2020-11-20 09:16:19 +08:00
赵延
7c30c4ea96 fix always load property when the contextPath is '/' 2020-11-19 12:27:59 +08:00
liaochuntao
c183b77db4
[ISSUE #4090] Configuration file changes do not take effect (#4188)
* fix: fix issue #4090

* fix: fixed an issue where profile updates did not take effect
2020-11-14 14:14:14 +08:00
nov.lzf
70d976db18
更新版本;集群整体重新负载均衡功能;变更推送内容;推送SLA日志;常量池改造;启动时长链接优化;删除rpc digest 日志 (#4217)
* listen context bugfix.

* 更新版本;集群整体重新负载均衡功能;变更推送内容;推送SLA日志;常量池改造;启动时长链接优化;删除rpc digest 日志
2020-11-12 18:03:07 +08:00
Gagharv
7baa696983
[ISSUE-#4181] fix url replace logic error,adjust the getContextPath logic (#4203) 2020-11-11 21:25:12 +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
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