-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
nsqlookupd: synchronize goroutines to avoid t.Log data races #1190
Conversation
e83b1e6
to
1837898
Compare
worth noting: nsqd also uses I think this is good. Please squash commits together before merge. |
8f7352e
to
dbc2b9c
Compare
I assumed something like that was going on for nsqd's use of TCPServer but hadn't dug into it. Thanks for clarifying. Thanks for your help on this - I've removed that unnecessary Delete and squashed and rebased. |
dbc2b9c
to
61de19e
Compare
Consumer connections are closed when topics are closed, but tcp-protocol publish connections are not, so add tcpServer.CloseAll(). problem introduced by nsqio#1190
Consumer connections are closed when topics are closed, but tcp-protocol publish connections are not, so add tcpServer.CloseAll(). problem introduced by nsqio#1190
This commit picks nsqio#1190 and backports it to this version of NSQ to avoid data races in t.Log flagged up by the race detector
This commit picks nsqio#1190 and backports it to this version of NSQ to avoid data races in t.Log flagged up by the race detector
Fixes the data race seen here: #1157 by providing a mechanism for all handler goroutines in
nsqlookupd
to exit before tests finish.I'm obviously new here so let me know if there are better/simpler ways to accomplish this.