DeadlockLoserDataAccessException
Hello
I am experiencing a deadlock issue and I need some help understanding how to correct the problem. First, a little about the application. It accepts an XML file that is saves to disk after validating it. Then a worker thread wakes up and looks for files to process. If it finds one, it will parse it and splits up into multiple XML files. Then another worker thread wakes up and processed the XML file "parts". I added 8 new jobs - 4 new reader threads and 4 new processor threads, for 4 new XSDs I need to support.
I recently added transaction support to my application and additionally added 8 new jobs being managed by Quartz. I noticed that when I load tested my application (load testing is probably too strong a word - I submitted 15 files of varying size - some upward of 30 MB at the same time), several of the jobs were hanging and my requests were not being processed. I had to restart the application server. Each of the reader and processor threads writes the status of the request to a database table.
As I was debugging, I changed the timing and now I am getting DeadlockLoserDataAccessException when I attempt to update the status of the submission in the database table. When I removed transaction support (which is ultimately not what I want as I need to rollback), the problem went away and everything processes as I would expect.
Does anyone have any ideas or suggestions on what I can do?
I am using Spring 2.5.5, Ibatis, and Sybase. I am using Quartz 1.8.3
Regards
Brenda