* Add InstanceBuilder and IdGenerator
* Add new builder for http request and client beat
* Use new builder to build api instance.
* Modified according review comment.
* 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.
* 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
* [ISSUE #5756] Support to specify ephemeral value for `UpgradeOpsController.createService` .
* [ISSUE #5756] Fix PathVariable is not supported by DistroFilter.
* add unit test for PersistentConsistencyServiceDelegateImpl
* add unit test for PersistentConsistencyServiceDelegateImpl
* add unit test for PersistentConsistencyServiceDelegateImpl
* 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
* [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
* [ISSUE #5361] check isUseGrpcFeatures() when register instance using GRPC protocol
* [ISSUE #5361] change hint message when register instance failed using GRPC
* [ISSUE #5169] DISTRO filter support `beat` parameter
For old version clients.
* [ISSUE #5169] Only responsible server need to check instance heartbeats
* [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.
* [ISSUE #5067] Listing instances and marked as healthy state when healthy protection threshold reached.
Whatever state the instance is.
* [ISSUE #5067] Fix code formatting.
* 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
* Add Http health check.
* Add Tcp as ClusterMetadata default checker
* Fix console can update cluster metadata if port no change
* Add MySQL health check.
* 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.
* 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
* 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
* 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
* fix some typo and code enhance.
* shared grpcExecutor between GrpcSDKServer and GrpdClusrerServer
* code style format
* fix compile problem
* code style format
* 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
* 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
* 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.
* 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
* 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
* 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
* 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.
* NacosNamingMetadataManager --> NamingMetadataManager
* Try to add ServiceMetadata consistency
* add catalog api support new data
* Change version to 2.0.0-SNAPSHOT
* 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
* 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.
* ignore load data from remote when standalone mode
* refactor. move standalone mode check from DistroLoadDataTask to DistroProtocol
* rename variable loadCompleted to isInitialized
* 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
* 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
* 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>
* 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