[ https://issues.apache.org/jira/browse/IGNITE-6835?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16245610#comment-16245610 ]
Igor Sapego commented on IGNITE-6835: ------------------------------------- [~apopov], see my comments: 1. {{SetOptions}} currently always return {{true}}, so it's unclear why does it has a return value at all. 2. I believe we should add diagnostic record and return {{SQL_SUCCESS_WITH_INFO}} in case we've failed to configure socket the right way. > 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 > Labels: odbc > Fix For: 2.4 > > > 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)