Skip to content

Client on Linux does not detect the broken connection to server to long time ~ 15 min #7007

@abzalov

Description

@abzalov

Сan be reproduced with isql:

on client side: connect server_host:/tmp/test.fdb user sysdba password masterkey;
on server side: disconnect the server from the network
on client side: select * from rdb$database;

Client raise the exception about broken connection after ~ 15 min only.

It would also be nice if on Linux the client side could control the TCP_USER_TIMEOUT option, or in extreme cases it would be possible to somehow get a connection handle so that this option could be applied manually.
Now in Linux, a client detects a broken connection for a very long time - about 15 minutes. This value is controlled by the OS setting tcp_retries2. But this setting is global and changing it affects all processes.
To solve this problem, the ability to set the TCP connection option on the client side - TCP_USER_TIMEOUT will help.
For example, in Postgres, it can be set both in the connection string and applied to the client application manually by receiving a connection socket using PQsocket from libpq.so.

Additional information in the issue 7006.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions