Optimize subscription order
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.
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.
Quality Gate passed
Issues
0 New issues
0 Accepted issues
Measures
0 Security Hotspots
70.6% Coverage on New Code
0.0% Duplication on New Code
However, this still cannot resolve the ABC issue.
However, this still cannot resolve the ABC issue.
I think there are three solutions:
- Add version to instance and compare version.
- The registry center triggers an event push for all instances when a subscription request is received.
- Lock getAllInstance and notify to ensure that getAllInstance is executed first.
- Add version to instance and compare version. This is a good idea. But is it supported by nacos?
- The registry center triggers an event push for all instances when a subscription request is received. Same like 1, should nacos support first.
- Lock getAllInstance and notify to ensure that getAllInstance is executed first. I think this cannot resolve it totally. This just make the probability smaller.
- Add version to instance and compare version. This is a good idea. But is it supported by nacos?
- The registry center triggers an event push for all instances when a subscription request is received. Same like 1, should nacos support first.
- 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.
However, this still cannot resolve the ABC issue.
it seems a timing problem, there should be a timestamp or version from registry center.

