dubbo icon indicating copy to clipboard operation
dubbo copied to clipboard

Optimize subscription order

Open finefuture opened this issue 1 year ago • 3 comments

What is the purpose of the change

refer: #13854

Adjust the order in which subscription services and node changes are triggered for the first time. image

Brief changelog

Verifying this change

Checklist

  • [x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
  • [ ] Each commit in the pull request should have a meaningful subject line and body.
  • [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
  • [ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
  • [ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
  • [ ] Add some description to dubbo-website project if you are requesting to add a feature.
  • [ ] GitHub Actions works fine on your own branch.
  • [ ] If this contribution is large, please follow the Software Donation Guide.

finefuture avatar Mar 18 '24 09:03 finefuture

However, this still cannot resolve the ABC issue. image

AlbumenJ avatar Mar 19 '24 01:03 AlbumenJ

However, this still cannot resolve the ABC issue. image

I think there are three solutions:

  1. Add version to instance and compare version.
  2. The registry center triggers an event push for all instances when a subscription request is received.
  3. Lock getAllInstance and notify to ensure that getAllInstance is executed first.

finefuture avatar Mar 19 '24 03:03 finefuture

  1. Add version to instance and compare version. This is a good idea. But is it supported by nacos?
  1. The registry center triggers an event push for all instances when a subscription request is received. Same like 1, should nacos support first.
  1. Lock getAllInstance and notify to ensure that getAllInstance is executed first. I think this cannot resolve it totally. This just make the probability smaller.

AlbumenJ avatar Mar 20 '24 01:03 AlbumenJ

  1. Add version to instance and compare version. This is a good idea. But is it supported by nacos?
  1. The registry center triggers an event push for all instances when a subscription request is received. Same like 1, should nacos support first.
  1. Lock getAllInstance and notify to ensure that getAllInstance is executed first. I think this cannot resolve it totally. This just make the probability smaller.

Yes, register center support is required.

finefuture avatar Mar 20 '24 03:03 finefuture

However, this still cannot resolve the ABC issue. image

it seems a timing problem, there should be a timestamp or version from registry center.

laywin avatar Mar 20 '24 09:03 laywin