Deadlock on sqlserver
owensky Jan 10, 2007 6:18 AMI am getting deadlock problems running against sqlserver, running with isolation level 2 (Read Committed). The same app runs ok against Oracle.
The problem occurs under load typically after a few hundred transactions
Dropping the isolation level to 1 (Read Uncommitted) stops the deadlocks (though naturally introducing the risk of dirty reads).
I'm running jbpm 3.1.2 (the same occurs on 3.1), SQL Server 2005 Standard Ed (same occurs on Express), sqljdbc 1.1.
Any suggestions or comments anyone?
Owen.
ERROR - JDBCExceptionReporter - Transaction (Process ID 58) was deadlocked on lock resources with another proce
ss and has been chosen as the deadlock victim. Rerun the transaction.
org.hibernate.exception.GenericJDBCException: could not initialize a collection: [org.jbpm.taskmgmt.exe.TaskMgmtInstance
.taskInstances#4377]
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:91)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:79)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.loadCollection(Loader.java:1926)
at org.hibernate.loader.collection.CollectionLoader.initialize(CollectionLoader.java:71)
at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:52
0)
at org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeColl
ectionEventListener.java:60)
at org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:1627)
at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:344)
at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86)
at org.hibernate.collection.AbstractPersistentCollection.readElementExistence(AbstractPersistentCollection.java:
142)
at org.hibernate.collection.PersistentSet.add(PersistentSet.java:162)
at org.jbpm.taskmgmt.exe.TaskMgmtInstance.addTaskInstance(TaskMgmtInstance.java:376)
at org.jbpm.taskmgmt.exe.TaskMgmtInstance.createTaskInstance(TaskMgmtInstance.java:104)
at org.jbpm.taskmgmt.exe.TaskMgmtInstance.createStartTaskInstance(TaskMgmtInstance.java:272)