CGLIB Developer |
|
Joined: Thu Aug 28, 2003 1:44 pm Posts: 1217 Location: Vilnius, Lithuania
|
Deadlock is a database concurrency contol limitation, you must access pages in the same order in all transactions to avoid deadlock. Try FlushMode.ALWAYS on READ_COMMITED isolation level it can help to avoid some deadlocks, but it can happen anyway. Deadlocks are almost random with page level locking (you can try to create table with page size = row size as workaround too). Retry transactions if possible or serialize transactions yourself (using table level locking) if you are sure it is a database fault and transactional code guidnes doe's not help (it must be documented, but probably it sounds like "keep transactions as short as possible", so commit as soon as possible too).
|
|