Skip to content

fix potential mutext conflict between doCrossDCRegister and doRegister#297

Open
yfaming wants to merge 1 commit intomasterfrom
fix_mutex_conflict
Open

fix potential mutext conflict between doCrossDCRegister and doRegister#297
yfaming wants to merge 1 commit intomasterfrom
fix_mutex_conflict

Conversation

@yfaming
Copy link
Copy Markdown
Collaborator

@yfaming yfaming commented Jan 29, 2023

这两个函数,都是在持有锁的时候进行 IO 操作(访问 etcd)。
当因为网络或其他原因,访问 etcd 很慢时,二者会相互影响,最终导致注册信息失效。

比如,当 doCrossDCRegister 很慢时,耗时 N 分钟,此时锁被 doCrossDCRegister 持有, doRegister 迟迟无法获得锁,最终对应 etcd 上的注册信息失效,调用方报错,无可用实例。

实际上,此两函数执行的动作,完全不必加锁。

…ster`

这两个函数,都是在持有锁的时候进行 IO 操作(访问 etcd)。
当因为网络或其他原因,访问 etcd 很慢时,二者会相互影响,最终导致注册信息失效。

比如,当 `doCrossDCRegister` 很慢时,耗时 N 分钟,此时锁被 `doCrossDCRegister` 持有,
`doRegister` 迟迟无法获得锁,最终对应 etcd 上的注册信息失效,调用方报错,无可用实例。

实际上,此两函数执行的动作,完全不必加锁。
@lypxhxjj
Copy link
Copy Markdown
Contributor

LGTM

2 similar comments
@joeytang
Copy link
Copy Markdown
Collaborator

LGTM

@aaronkan007
Copy link
Copy Markdown

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants