We are in the process of porting some .net database interface code that 
used to use the 
Microsoft SQL Express database as the backing store to use the Open Source 
Edition of Virtuoso.
The code uses the Virtuoso Ado,net data provider to communicate with 
Virtuoso and 
 has retry logic support for deadlock exceptions that are thrown from the 
database engine.

Whenever we run a test that uses multiple threads Virtuoso throws a 
deadlock detected exception.
There are about 10 threads in total.  Some just read. Some read and write. 
 Some just write.

In response to a deadlock detected exception, our code delays a random 
amount of time, disposes the transaction,  closes the database connection, 
and starts over.

However a second deadlock is thrown when we make the transaction.Dispose() 
call.
This code works with the Microsoft database. 

Does anyone have sample code for how to gracefully handle a deadlock 
exception from Virtuoso?

Thanks in advance.

Lou Sakey
CDG WW DC+D R+D Software| 

lou.sa...@kodak.com
781-583-1453 (home office)

Reply via email to