upgrade nacos client from 1.4.2 to 2.3.2#12362
Conversation
8c18d85 to
9a91c1d
Compare
| <exclusions> | ||
| <exclusion> | ||
| <groupId>org.slf4j</groupId> | ||
| <artifactId>slf4j-api</artifactId> | ||
| </exclusion> | ||
| <exclusion> | ||
| <groupId>org.apache.logging.log4j</groupId> | ||
| <artifactId>log4j-core</artifactId> | ||
| </exclusion> | ||
| <exclusion> | ||
| <groupId>org.apache.logging.log4j</groupId> | ||
| <artifactId>log4j-slf4j-impl</artifactId> | ||
| </exclusion> | ||
| <exclusion> | ||
| <groupId>ch.qos.logback</groupId> | ||
| <artifactId>logback-classic</artifactId> | ||
| </exclusion> | ||
| <exclusion> | ||
| <groupId>ch.qos.logback</groupId> | ||
| <artifactId>logback-core</artifactId> | ||
| </exclusion> | ||
| <exclusion> | ||
| <groupId>net.jcip</groupId> | ||
| <artifactId>jcip-annotations</artifactId> | ||
| </exclusion> | ||
| </exclusions> |
There was a problem hiding this comment.
nacos-client 2.3.2 have make these package optional, not transitivity
|
SkyWalking eyes will check the dependencies check. I believe you didn't do this. skywalking/.github/workflows/skywalking.yaml Lines 34 to 44 in 84dece9 |
|
Meanwhile, I don't see your explanation of this version upgrade. What is the impact of this upgrade? |
|
Also, docs should be updated, https://skywalking.apache.org/docs/main/next/en/setup/backend/backend-cluster/#nacos Changes.md linked in the pull request has not been updated too. |
| Integer nacosPortOffset = container.getMappedPort(9848) - container.getMappedPort(8848); | ||
| System.setProperty("nacos.server.grpc.port.offset", nacosPortOffset.toString()); |
There was a problem hiding this comment.
Nacos 2.x server have two port, 8848(http) and 9948(gRPC) by default. Nacos Client 's implement use 8848(http.port) + 1000(nacos.server.grpc.port.offset) as gRPC port. It works on virtual machine.
But the testContainer will not Mapport the port One-By-One. so i need to configure nacos.server.grpc.port.offset
Doc ref :https://nacos.io/docs/next/manual/user/java-sdk/properties/#24-%E8%BF%9E%E6%8E%A5%E7%9B%B8%E5%85%B3
|
Thank you for so quickly response, i will read these review and give some update later |
|
Note skywalking eyes tool is going to check the dependencies change, and License file needs to be updated. |
|
The check result of skywalking eyes is as follow , it looks no license changes |
|
This is header fix.(Source files have proper headers), But I mean this skywalking/.github/workflows/skywalking.yaml Lines 58 to 87 in 7355557 |
Please check the license change. I am not sure what happend , so many nodejs related is deleted. |
|
Have you ever build the project and run that? I doubt that. Nodejs part is introduced from UI, which is a part of this project. |
838bc65 to
c6f6705
Compare
|
Could you explain why other libs out of nacos have been changed? |
|
These change may effect by nacos , I dig in deep.
so for problem
|
|
I look like add depedencyManagement fix some other dependency check for example, jackson version should be 2.16.0, this is consystent with |
| <dependencyManagement> | ||
| <dependencies> | ||
| <dependency> | ||
| <groupId>org.apache.skywalking</groupId> | ||
| <artifactId>oap-server-bom</artifactId> | ||
| <version>${project.version}</version> | ||
| <scope>import</scope> | ||
| <type>pom</type> | ||
| </dependency> | ||
| </dependencies> | ||
| </dependencyManagement> |
There was a problem hiding this comment.
module apache-skywalking-apm without dependencyManagement can not handle dependency conflict and version management
There was a problem hiding this comment.
oap-server has that, and dist itself is just packaging, it should not include any new dependency AFAIK.
This should be removed. The CI check is running on Linux only. This dependency will trigger an error. |
|
As expected, CI fails |
|
About this PR still, you don't have
|
Please share screenshots from Nacos UIs about how the cluster registration and configurations look like on there. |
|
The screenshots are good. Please fix other parts. |
Co-authored-by: 吴晟 Wu Sheng <[email protected]>
Co-authored-by: 吴晟 Wu Sheng <[email protected]>
kezhenxu94
left a comment
There was a problem hiding this comment.
Please also mention this is a breaking change in the CHANGES.md, users who are using Nacos now will be broken after upgrade
docs/en/changes/changes.md
Outdated
| * Move the Official Dashboard docs to marketplace docs. | ||
| * Add marketplace introduction docs under `quick start` menu to reduce the confusion of finding feature docs. | ||
| * Update Windows Metrics(Swap -> Virtual Memory) | ||
| * [Break Change] Update Nacos version to 2.3.2. |
docs/en/changes/changes.md
Outdated
| * Add Python as a supported language for Pulsar. | ||
| * Make more proper histogram buckets for the `persistence_timer_bulk_prepare_latency`, | ||
| `persistence_timer_bulk_execute_latency` and `persistence_timer_bulk_all_latency` metrics in PersistenceTimer. | ||
| * [Break Change] Update Nacos version to 2.3.2. |
There was a problem hiding this comment.
| * [Break Change] Update Nacos version to 2.3.2. | |
| * [Break Change] Update Nacos version to 2.3.2. Nacod 1.x server can't serve as cluster coordinator and configuration server. |





short story: Nacos 2 is Better than Nacos 1.x. So update to Nacos 2.x is good choice.
long story:
Nacos have released 2.x for long times, the most important feature is support gRPC for "Long-Live" Connection.
https://www.alibabacloud.com/blog/an-in-depth-insight-into-nacos-2-0-architecture-and-new-model-with-a-supported-grpc-persistent-connection_597804
skywalking on nacos:
Skywalking have some extension abilities with Nacos Implemention. So Skywalking can use Nacos for Cluster Management and Dynamic Configuration
After skywalking upgrade Nacos client , the performance will be better when skywalking setup with nacos 2.x server
CHANGESlog.