Matt Sergeant writes:
> On Wed, 21 Mar 2001, Vladimir Jebelev wrote:
>
> > Hi,
> >
> > I am having problems with DBD::Sybase when execute() blocks and never
> > returns - don't know for sure if it's the driver or maybe the client
> > library (I am using DBI 1.14, DBD::Sybase 0.91 and Sybase server 11.0.3 on
> > Linux). Once in a while - approximately once per every 10,000 SQL queries
> > - could be select, or update, or insert, execute() would block and just
> > sit there forever until the process is killed. I worked around this by
> > specifying timeout parameter in DSN and retrying execute if failed on
> > timeout - unfortunately this isn't perfect since when it fails on insert,
> > the data may have been pushed to DB already and the second insert with the
> > same data will fail in most cases because of data integrity constraints.
>
> Welcome to the world of deadlocks. I can only recommend some good long
> reading of the rather excellent Sybase documentation on deadlocks (which
> will happen even if you upgrade to 12.0 and use row level locking).
Sorry Matt, but that's not what's happening at all. If this were a
deadlock one of the connections would get a 1205 error (i.e. "your
command has been aborted as the deadlock victim").
In this case this is a bug in the network handling code of the
original 11.0.3.3 release for linux. Upgrading to 11.0.3.3#6 should
fix the problem.
Michael
--
Michael Peppler - Data Migrations Inc. - [EMAIL PROTECTED]
http://www.mbay.net/~mpeppler - [EMAIL PROTECTED]
International Sybase User Group - http://www.isug.com
Sybase on Linux mailing list: [EMAIL PROTECTED]