[ https://issues.apache.org/jira/browse/IGNITE-6835?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16243780#comment-16243780 ]
ASF GitHub Bot commented on IGNITE-6835: ---------------------------------------- GitHub user apopovgg opened a pull request: https://github.com/apache/ignite/pull/2997 IGNITE-6835 ODBC driver should handle ungraceful tcp disconnects You can merge this pull request into a Git repository by running: $ git pull https://github.com/gridgain/apache-ignite ignite-6835 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/2997.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #2997 ---- commit dd595013ea42af8f5c60a3a8f5ea7a6c7b9c8e7e Author: apopov <tank2.a...@gmail.com> Date: 2017-11-08T11:42:59Z IGNITE-6835 ODBC driver should handle ungraceful tcp disconnects ---- > ODBC driver should handle ungraceful tcp disconnects > ---------------------------------------------------- > > Key: IGNITE-6835 > URL: https://issues.apache.org/jira/browse/IGNITE-6835 > Project: Ignite > Issue Type: Bug > Security Level: Public(Viewable by anyone) > Components: odbc > Affects Versions: 2.1 > Reporter: Alexey Popov > Assignee: Alexey Popov > > It is found that ungraceful TCP disconnect makes ODBC driver stuck at socket > recv(). > Ungraceful TCP disconnect could be caused: > 1. Network failure (or new firewall rules) > 2. Remote party shutdown (Half Closed Connection) > So, the proposal is: > setup socket options: > 1) SO_KEEPALIVE enabled > 2) TCP_KEEPIDLE to 60 sec. It is 2 hour by default > 3) TCP_KEEPINTVL to 5 (\?) sec. It is 1 sec at Win and 75 sec at Linux by > default. > 4) send/receive buffers to some greater value (8k by default) -- This message was sent by Atlassian JIRA (v6.4.14#64029)