Skip to content
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

Change v3 discovery url to endpoints so as to support failover #13733

Merged
merged 1 commit into from
Feb 24, 2022

Conversation

ahrtr
Copy link
Member

@ahrtr ahrtr commented Feb 23, 2022

Part of 13624, and it's one of follow-ups to the PR 13635.

Currently the discovery url is just one endpoint. But actually it should be the same as the etcdctl, which means that it should be a list of endpoints. When one endpoint is down, the clientv3 can fail over to the next endpoint automatically.

cc @ptabor @serathius @spzala

@ahrtr ahrtr changed the title Change v3 discovery url to endpoints Change v3 discovery url to endpoints so as to support failover Feb 23, 2022
@ahrtr ahrtr added this to the etcd-v3.6 milestone Feb 23, 2022
Copy link
Contributor

@ptabor ptabor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you.

@ahrtr ahrtr force-pushed the change_discovery_url_to_endpoints branch 2 times, most recently from e1ed3b7 to 2972dc4 Compare February 23, 2022 15:50
@ahrtr ahrtr force-pushed the change_discovery_url_to_endpoints branch 5 times, most recently from f07b911 to 5cae97a Compare February 23, 2022 19:32
@ahrtr
Copy link
Member Author

ahrtr commented Feb 23, 2022

Resolved all your comments. The grpcProxy-test failure is because there are some leaked goroutines, and it should have nothing to do with this PR.

I manually executed the following command under the tests directory on the main branch, and I can also see the leaked goroutines,
'go' 'test' '-timeout=30m' '-tags' 'cluster_proxy' '--race=true' '--cpu=4' 'go.etcd.io/etcd/tests/v3/integration/clientv3' -v

I think we really need to refactor & improve the test framework & cases, and I see @serathius has already started the work. I may also spend some time on it later.

cc @serathius @ptabor @spzala

Currently the discovery url is just one endpoint. But actually it
should be the same as the etcdctl, which means that it should be
a list of endpoints. When one endpoint is down, the clientv3 can
fail over to the next endpoint automatically.
@ahrtr ahrtr force-pushed the change_discovery_url_to_endpoints branch from 5cae97a to 2f36e0c Compare February 24, 2022 01:12
@ahrtr
Copy link
Member Author

ahrtr commented Feb 24, 2022

I just retriggered the test by submitted an empty --amend commit, all tests are green now. PTAL @ptabor @serathius @spzala

@serathius serathius merged commit 10998ab into etcd-io:main Feb 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants