freetds AT lists.ibiblio.org
Subject: FreeTDS Development Group
List archive
Re: [freetds] FreeTDS and buffering on client side
- From: Frediano Ziglio <freddy77 AT gmail.com>
- To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
- Subject: Re: [freetds] FreeTDS and buffering on client side
- Date: Mon, 30 Oct 2017 08:20:37 +0000
2017-10-29 16:38 GMT+00:00 Peter Deacon <peterd AT iea-software.com>:
> On Fri, 27 Oct 2017, LacaK wrote:
>
>> Same behavior also on Windows (current master) and on Linux (Ubuntu with
>> installed libsybdb5 package) Once network cable is unpluged loop freezes
>> and
>> FAIL is not returned from dbnextrow()
>
>
>> So I think, that it is reproducible case ...
>
>
> Some systems depending on configuration when physical link is lost actively
> close logical interface and associated sockets. These systems should return
> an error right away. Some do nothing.
>
> The difference you are seeing in your testing after waiting longer than a
> certain period is a result of server side of the session giving up and
> shutting down the TCP session. Under your test condition the client is
> likely to have no idea this has occurred. All it knows is more data may or
> may not arrive at some undetermined point in the future. With TCP a client
> can find out in one of three ways:
>
> 1. Something is transmitted over TCP session such as request for more data
> or app layer keep-alive - at which point lack of connectivity is detected
> when transmission timeout expires.
>
> 2. A TCP layer keep-alive fires off and time outs. On windows the default
> keep-alive interval is 2 hours.
>
> 3. Local application timeout such as a configured query timeout?
>
> Otherwise I would expect the application to sit and wait forever for data
> that may never arrive over a server/network/socket that may no longer exist.
> On Windows you are likely looking at 2 hours maximum wait before anything
> times out.
>
> On Windows try waiting 2 hours, using a query timeout or sysinternals
> tcpview/process explorer to force close socket of database session from
> client process and see if you get an error.
>
> regards,
> Peter
>
You are right.
Linux should have a total keep alive or 1 minute. Weird that is not
set that way.
I think for Windows is not set so yes, default is 2 hours.
You can set query timeout of use interrupt.
Frediano
-
[freetds] FreeTDS and buffering on client side,
LacaK, 10/25/2017
-
Re: [freetds] FreeTDS and buffering on client side,
Frediano Ziglio, 10/25/2017
-
Re: [freetds] FreeTDS and buffering on client side,
LacaK, 10/26/2017
-
Re: [freetds] FreeTDS and buffering on client side,
Frediano Ziglio, 10/26/2017
-
Re: [freetds] FreeTDS and buffering on client side,
LacaK, 10/26/2017
-
Re: [freetds] FreeTDS and buffering on client side,
Craig Jackson, 10/26/2017
- Re: [freetds] FreeTDS and buffering on client side, Frediano Ziglio, 10/30/2017
-
Re: [freetds] FreeTDS and buffering on client side,
LacaK, 10/27/2017
- Re: [freetds] FreeTDS and buffering on client side, Frediano Ziglio, 10/29/2017
-
Re: [freetds] FreeTDS and buffering on client side,
Peter Deacon, 10/29/2017
- Re: [freetds] FreeTDS and buffering on client side, Frediano Ziglio, 10/30/2017
- Re: [freetds] FreeTDS and buffering on client side, LacaK, 10/31/2017
- Re: [freetds] FreeTDS and buffering on client side, Frediano Ziglio, 10/31/2017
- Re: [freetds] FreeTDS and buffering on client side, LacaK, 10/31/2017
-
Re: [freetds] FreeTDS and buffering on client side,
Craig Jackson, 10/26/2017
-
Re: [freetds] FreeTDS and buffering on client side,
LacaK, 10/26/2017
-
Re: [freetds] FreeTDS and buffering on client side,
Frediano Ziglio, 10/26/2017
-
Re: [freetds] FreeTDS and buffering on client side,
LacaK, 10/26/2017
-
Re: [freetds] FreeTDS and buffering on client side,
Frediano Ziglio, 10/25/2017
Archive powered by MHonArc 2.6.24.