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

Failed to establish TCP\IP connection with Windows Classic Server under high load [CORE2107] #2541

Closed
firebird-automations opened this issue Oct 4, 2008 · 12 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @hvlad

When many simultaneous attempts of connection is performed some of them may fail with error 335544421 (connection rejected by remote interface)

Reproduced on Windows Classic Server using TCP\IP

Commits: c1ab5a8 c56ebce

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

assignee: Vlad Khorsun [ hvlad ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

It seems that if listener process is busy (creating new work process) when few connection attempt is already in some internal Windows queue than Windows may drop some connection attempts.

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

All fork (CreateProcess) calls moved to additional dedicated thread. This allows listener to accept new connection almost immediately after previous. This can't give full guarantee that under very high load all connections would be accepted but improved things a lot. Currently i see no failures with up to 300 simultaneous connection attempts and less than 10 failures with 500 attempts. Before this fix even with 50 cincurrent connection attempts i seen 10-30 failures.

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

Fix Version: 2.5 Beta 1 [ 10251 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @pmakowski

will it be backported to 2.1.x ?

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

It is not a regression therefore i didn't commit it to the 2.1.2...
If there will be decision to backport it - i would have no problem with it ;)

@firebird-automations
Copy link
Collaborator Author

Commented by: @dyemanov

My suggestion is to release v2.1.2 "as is" and revisit this ticket for v2.1.3 if anybody would report us about being affected by this issue.

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

I agree with Dmitry

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

status: Resolved [ 5 ] => Closed [ 6 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

Backported into 2.1.4

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

Fix Version: 2.1.4 [ 10361 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

QA Status: No test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment