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

Client Library Hangs after unsuccessful connection to remote auxiliary (events) port [CORE3718] #4066

Closed
firebird-issue-importer opened this issue Jan 5, 2012 · 13 comments

Comments

@firebird-issue-importer
Copy link

firebird-issue-importer commented Jan 5, 2012

Submitted by: Mark Jones (mjnz)

Is duplicated by CORE5597

After an unsuccessful attempt to connect the auxiliary port (isc_que_events) any subsequent api call that needs to communicate with the server hangs forever (so the client application hangs forever)

Configure the server (superserver) so that the firewall does not block the main service port (3050) but blocks the specified Aux port (3060 in this case)
--- firebird.conf ---
#⁠RemoteServiceName = gds_db
#⁠RemoteServicePort = 3050
RemoteAuxPort = 3060
------

Make a connection to the remote server using tcp/ip then call isc_que_events which will timeout after 10-15 seconds with a isc_network_error (335544721). Now make a call that requires communication with the server (e.g. isc_start_transaction ) and the application (library) will hang forever

Right now I can see that it goes wrong when it tries to send the subsequent packet to the server ( port->send(packet) ) but the debugger didnt go any further into the code from there so unsure excatly where after that it fails.

Commits: 0c7d2c2

@firebird-issue-importer
Copy link
Author

firebird-issue-importer commented Jan 9, 2012

Modified by: @AlexPeshkoff

assignee: Alexander Peshkov [ alexpeshkoff ]

@firebird-issue-importer
Copy link
Author

firebird-issue-importer commented Jan 9, 2012

Commented by: @AlexPeshkoff

Confirmed on linux, at least for 2.1.

@firebird-issue-importer
Copy link
Author

firebird-issue-importer commented Jan 10, 2012

Commented by: @AlexPeshkoff

What I've seen on linux is another bug, causing all server to hang indefinitely due to races.
This is an old issue, not a regression in 2.1 or 2.5. Your connection did not hang completely, it's just waiting for a ConnectionTimeout which is 180 sec by default. I agree that this is not very good value for today, but do not think it's worth changing default.

I mark an issue to be fixed before 3.0 beta cause this is really not a good behavior.

To avoid such long waits please set ConnectionTimeout to something about 1-2 seconds for LANs, for WANs this depends upon expected timeouts.

@firebird-issue-importer
Copy link
Author

firebird-issue-importer commented Jan 10, 2012

Modified by: @AlexPeshkoff

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

Target: 3.0 Beta 1 [ 10332 ]

@firebird-issue-importer
Copy link
Author

firebird-issue-importer commented Jan 10, 2012

Modified by: @AlexPeshkoff

priority: Critical [ 2 ] => Major [ 3 ]

@firebird-issue-importer
Copy link
Author

firebird-issue-importer commented Jan 16, 2012

Modified by: @AlexPeshkoff

summary: Client Library Hangs Forever after unsuccessful connection to remote auxiliary (events) port => Client Library Hangs after unsuccessful connection to remote auxiliary (events) port

@firebird-issue-importer
Copy link
Author

firebird-issue-importer commented Jan 16, 2012

Commented by: @AlexPeshkoff

The fix requires protocol change (new operation), therefore has no chances to be backported to earlier versions.

@firebird-issue-importer
Copy link
Author

firebird-issue-importer commented Jan 16, 2012

Modified by: @AlexPeshkoff

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

resolution: Fixed [ 1 ]

Fix Version: 3.0 Alpha 1 [ 10331 ]

@firebird-issue-importer
Copy link
Author

firebird-issue-importer commented Apr 23, 2013

Modified by: @pcisar

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

@firebird-issue-importer
Copy link
Author

firebird-issue-importer commented Jan 18, 2016

Modified by: @pavel-zotov

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

QA Status: No test

@firebird-issue-importer
Copy link
Author

firebird-issue-importer commented Feb 26, 2018

Modified by: @hvlad

Link: This issue is duplicated by CORE5597 [ CORE5597 ]

@firebird-issue-importer
Copy link
Author

firebird-issue-importer commented Feb 26, 2018

Commented by: @hvlad

Alex,

is it correct that ConnecitonTimeout could be changed at server side ?

@firebird-issue-importer
Copy link
Author

firebird-issue-importer commented Feb 26, 2018

Commented by: @AlexPeshkoff

Don't know. Why do you ask such question? How is it related here?

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