[freetds] Time out issue
Xu Behoneo
behoneox at hotmail.com
Wed Nov 29 23:08:01 EST 2006
Hi, Frediano
I understand that the client needs to receive a cancel reply from server,
but assuming that there is a network failure or server down, it will block
until everything works fine. I think this isn't a good behavior, of course
return immediately isn't appropriate also. Maybe we can still specify the
second select a timeout, and if it timeout also, then we can return.
Thanks,
Benheng
>From: "ZIGLIO, Frediano, VF-IT" <Frediano.Ziglio at vodafone.com>
>Reply-To: FreeTDS Development Group <freetds at lists.ibiblio.org>
>To: "FreeTDS Development Group" <freetds at lists.ibiblio.org>
>Subject: Re: [freetds] Time out issue
>Date: Wed, 29 Nov 2006 08:48:50 +0100
>
> >
> > Hi, all
> >
> > When I use the FreeTDS with unixODBC, I have a timeout
> > problem, I'm not sure whether this is a bug.
> >
> > The issue is in the "tds_goodread" function(src/tds/net.c),
> > when the "select" function returns because of timeout, the
> > "len" variable will be set to 0, and it will go into the "if"
> > section, in that, a query timeout function will be called,
> > without dblib, this function will always be
> > "query_timeout_cancel" function(src/odbc/odbc.c), and it set
> > the timeout of the tds socket to 0 and returns
> > "TDS_INT_CANCEL", so that in the former "if" section, a
> > cancel packet is sent, but it still in the loop and call
> > select again, but at this time, the timeout value is 0 and
> > select will wait forever.
> >
> > I think after called the "tds_send_cancel" call, it should
> > return immediately.
> >
> > Thanks,
> > Benheng Xu
>
>No, the behavior is correct. Assuming you send a query that take a lot
>of time, when timeout is reached you send cancel request and you have to
>wait for DONE with cancel reply from server. You cannot return
>immediately cause you break server syncro so you would end up in an
>inconsistent state.
>
>Frediano
>
>_______________________________________________
>FreeTDS mailing list
>FreeTDS at lists.ibiblio.org
>http://lists.ibiblio.org/mailman/listinfo/freetds
_________________________________________________________________
Ãâ·ÑÏÂÔØ MSN Explorer: http://explorer.msn.com/lccn/
More information about the FreeTDS
mailing list