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

test: TestReleaseUpgrade fails #5947

Closed
xiang90 opened this issue Jul 14, 2016 · 5 comments
Closed

test: TestReleaseUpgrade fails #5947

xiang90 opened this issue Jul 14, 2016 · 5 comments
Assignees
Milestone

Comments

@xiang90
Copy link
Contributor

xiang90 commented Jul 14, 2016

--- FAIL: TestReleaseUpgrade (1.24s)
    etcd_release_upgrade_test.go:78: error restarting etcd process (read /dev/ptmx: input/output error)
    etcd_release_upgrade_test.go:47: error closing etcd processes (exit status 1)
@xiang90 xiang90 added this to the v3.1.0 milestone Jul 19, 2016
@gyuho gyuho removed their assignment Jul 20, 2016
@gyuho gyuho self-assigned this Aug 2, 2016
@gyuho
Copy link
Contributor

gyuho commented Aug 8, 2016

@heyitsanthony I can only reproduce with concurrent run on this test.

go test -v -run TestReleaseUpgrade &
go test -v -run TestReleaseUpgrade

Have you ever seen Semaphore running tests concurrently?

Our test script runs only sequentially as far as I can tell.

https://github.com/coreos/etcd/blob/master/test#L72-L77

@heyitsanthony
Copy link
Contributor

@gyuho e2e tests shouldn't run concurrently. Maybe something (TIME_WAIT connections?) is keeping the port from rebinding on etcdserver restart? Only the release upgrade test is doing one-by-one restart...

@gyuho
Copy link
Contributor

gyuho commented Aug 8, 2016

This is most likely from the OS (reproducible with conflicting ports)

2016-08-08 12:28:21.139648 I | etcdmain: setting maximum number of CPUs to 8, total number of available CPUs is 8
2016-08-08 12:28:21.139786 C | etcdmain: listen tcp 127.0.0.1:20001: bind: address already in use
2016-08-08 12:28:21.139875 C | etcdmain: listen tcp 127.0.0.1:20003: bind: address already in use
--- FAIL: TestReleaseUpgrade (0.01s)
    etcd_release_upgrade_test.go:43: could not start etcd process cluster (read /dev/ptmx: input/output error)

The port might not have been freed up by the time we restart the cluster with the same port.

@xiang90
Copy link
Contributor Author

xiang90 commented Aug 8, 2016

@gyuho Do you print out logging by default? Anything we can do to improve it by avoiding the port issue?

@gyuho
Copy link
Contributor

gyuho commented Aug 8, 2016

I will try what Anthony suggested

rebinding on etcdserver restart

gyuho added a commit to gyuho/etcd that referenced this issue Aug 8, 2016
Fix etcd-io#5947.

When we restart, the previous port could have been still bind
by the OS. Use Unix port to avoid such rebind cases.
gyuho added a commit to gyuho/etcd that referenced this issue Aug 8, 2016
Fix etcd-io#5947.

When we restart, the previous port could have been still bind
by the OS. Use Unix port to avoid such rebind cases.
gyuho added a commit to gyuho/etcd that referenced this issue Aug 8, 2016
Fix etcd-io#5947.

When we restart, the previous port could have been still bind
by the OS. Use Unix port to avoid such rebind cases.
gyuho added a commit to gyuho/etcd that referenced this issue Aug 8, 2016
Fix etcd-io#5947.

When we restart, the previous port could have been still bind
by the OS. Use Unix port to avoid such rebind cases.
gyuho added a commit to gyuho/etcd that referenced this issue Aug 8, 2016
Fix etcd-io#5947.

When we restart, the previous port could have been still bind
by the OS. Use Unix port to avoid such rebind cases.
gyuho added a commit to gyuho/etcd that referenced this issue Aug 8, 2016
Fix etcd-io#5947.

When we restart, the previous port could have been still bind
by the OS. Use Unix port to avoid such rebind cases.
gyuho added a commit to gyuho/etcd that referenced this issue Aug 8, 2016
Fix etcd-io#5947.

When we restart, the previous port could have been still bind
by the OS. Use Unix port to avoid such rebind cases.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

3 participants