-
Notifications
You must be signed in to change notification settings - Fork 6.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do you exclude this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is this about?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we need to add this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
module apache-skywalking-apm without dependencyManagement can not handle dependency conflict and version management
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 <wu.sheng@foxmail.com>
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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
@@ -29,5 +30,6 @@ | |||
* 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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why UI matters about this?
docs/en/changes/changes.md
Outdated
@@ -19,6 +19,7 @@ | |||
* 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* [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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
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
CHANGES
log.