-
-
Notifications
You must be signed in to change notification settings - Fork 188
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
fix:初始加载失败依旧加入懒加载列表,异步检查流程优化 #309
base: develop
Are you sure you want to change the base?
fix:初始加载失败依旧加入懒加载列表,异步检查流程优化 #309
Conversation
WalkthroughRecent changes involve enhancing error handling and validation within several components, including Changes
Sequence DiagramsHandling nil
|
感谢您提出Pull Request,我会尽快Review。我会在1-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.
Actionable comments posted: 0
Out of diff range and nitpick comments (1)
protocol/http/request.go (1)
Line range hint
74-76
: Consider specifyingMinVersion: tls.VersionTLS13
in the TLS configuration to ensure that only secure TLS versions are used. This enhances security, especially for public-facing applications.- InsecureSkipVerify: insecureSkipVerify, + InsecureSkipVerify: insecureSkipVerify, MinVersion: tls.VersionTLS13
Review Details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (4)
- client.go (2 hunks)
- client_test.go (1 hunks)
- component/remote/async.go (1 hunks)
- protocol/http/request.go (1 hunks)
Additional comments not posted (5)
component/remote/async.go (1)
86-88
: The addition of a condition to check ifapolloConfig.Configurations
is not empty before updating notifications is a good practice. It prevents unnecessary updates and potential errors when there are no configurations to process.protocol/http/request.go (1)
216-221
: The addition of a condition to check the node length before setting a node down in single-node scenarios is a crucial improvement. It prevents erroneous behavior in systems with minimal node setups and enhances the robustness of the network error handling.client.go (2)
167-168
: Logging a warning whenapolloConfig
isnil
is a good practice as it provides visibility into potential issues during configuration synchronization.
193-198
: Updating the notification ID to-1
whenapolloConfig
is not present is a critical fix that ensures the system can handle initial load failures more gracefully by allowing for retries or appropriate handling later.client_test.go (1)
415-415
: Adding an assertion to check theGetNotify
method of theNotificationsMap
for a specific return value in theTestGetConfigAndInitValNil
function is a good practice. It ensures that the method behaves as expected when queried with a non-existent key, enhancing the test coverage and robustness of the new error handling logic.
Pull Request Test Coverage Report for Build 9042914117Details
💛 - Coveralls |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
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.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (1)
- client_test.go (2 hunks)
Additional comments not posted (2)
client_test.go (2)
377-377
: Approved: Added assertion to check notification value.The added assertion ensures that the notification value is correctly set to
-1
when the configuration is updated, which aligns with the PR objective of ensuring fault tolerance.
415-415
: Approved: Added assertion to check notification value.The added assertion ensures that the notification value is correctly set to
-1
when the configuration is nil, which aligns with the PR objective of ensuring fault tolerance.
是否能补充下该 pr 修复的问题场景? |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
初始加载失败依旧加入懒加载列表
检查到存在通知,需要判断返回的结构做没有值的容错,在异步流程中,没有值的返回是异常的,应该在请求的时候就报错了
request 函数中,当只有一个节点可用的时候,直接返回,不然会造成客户端最多异常20min(等待下一次服务列表同步)
Summary by CodeRabbit
apolloConfig
beingnil
by logging a warning before proceeding withSyncAndUpdate
.apolloConfig.Configurations
is empty.RequestRecovery
by ensuring node length checks before setting nodes as down.-1
instead of0
.