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)