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]

Reply via email to