-
Notifications
You must be signed in to change notification settings - Fork 230
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
read tcp i/o timeout on Windows 10 #60
Comments
Hi @hexadecy - thanks for the report. Do you have any more info?
I'll get a new test running in our environment ASAP. Dom |
|
Thanks @hexadecy - I'll look into it ASAP. |
That change looks suspicious to me: Why have you reverted it than merged it? |
Hey @hexadecy I've been running a test against one of our mongo environments (replicated & sharded) over the last 24 hours and I'm unable to reproduce the problem against 3.2.x. I also killed all connections at random throughout the night, and they recovered automatically. I'll switch to 3.4 and try another run, but I don't think the change between 5be15cc and c4a7121 is likely to behave differently between the two versions - I might be wrong though! For reference I'm using this load tool with 5be15cc to push mongo - does https://github.com/domodwyer/mpjbt/blob/1d8068910f0d1972947c6523e1093cc03ebb6343/mongo/db_opts.go#L29 look like your Dom |
It was reverted as it incorrectly targeted master (see #54) - we merge to development, test in staging and then merge to master - sorry for the confusion! |
Hi @hexadecy, How are you using Nginx as a proxy? Could you elaborate please? Thanks |
The Go net.Conn implementation for Windows use "wsasend" and "wsarecv" But maybe they are not that thread safe: |
So it looks like it's probably a windows-specific issue - we're running tests against 3.4.x anyway just to eliminate it as a possible cause. We're going to look into this - in the meantime I suggest vendoring 5be15cc if you're using windows. Dom |
Ok, it happens again on the same Win pc. From an old thread: Socket unlock was always after as far as I know (2010)
|
Hi @hexadecy (and @idy via https://github.com/go-mgo/mgo/issues/502) I don't believe it's related to #52 - the methods are documented as being concurrency safe:
My suspicion is on go itself at this point - @weiishann will be running a test over the weekend to see if we can reproduce on Win10. Dom |
Ok but mpjbt use He can reproduce a timeout with a wifi connection and session.Clone(): Ok I am running Ubuntu with 5be15cc and Mongo 3.2.17 + Go 1.9.1 We cannot reproduce it so far with c4a7121 and Mongo 3.4.10 + Go 1.9.2 |
Hi @hexadecy, It's a little difficult to determine the issue when we are changing multiple things between each tests. Could you provide this instead? Please use Go 1.9.2 for all the tests below.
Also, can you verify if you can reproduce with p.Session.Copy() please? Thanks! |
Sorry but it's pretty hard to reproduce.
I modified https://github.com/hexadecy/mpjbt to use Session.Clone() and tried with different workloads. |
Hi @hexadecy Have you tried to enable debug mode with |
Hi @hexadecy We've been unable to reproduce the issue on our side and I'm not entirely sure under what conditions it occurs? I'm going to close this ticket, if you're still having an issue feel free to reply with more info and we'll investigate. Dom |
After some db calls, we have to restart our Go backend:
MongoDB 3.4.10
Go 1.9.2 windows/amd64
github.com/globalsign/mgo 5be15cc
I think it was ok with:
MongoDB 3.2.16
github.com/globalsign/mgo c4a7121
Go 1.9.1 Alpine 3.6
The text was updated successfully, but these errors were encountered: