Oracle DB Table Resource Adapter Deadlock Issue

Howdy folks,

This morning I configured a resource adapter against a table in an Oracle db. IDM made the adapter and I attempted to load accounts from the resource. However, I mapped my accountId against a field that was too short (ids less then 4 characters long). So I went to edit the resource adapter and change the key to a different field. Unfortunately, it decided to throw a Deadlock error.

"==> java.io.IOException: ORA-00060: deadlock detected while waiting for resource"

The same thing happens when I try to edit or create a new resource. Looking at the logs/errors from the Oracle db side, it really looks like IDM is locking a table, then locking the same table again. Thus creating a deadlock state for Oracle. Right now I can no longer create or modify any oracle table resource adapters. Has anyone had this happen before? Does anyone know why this might be happening?

Does anyone have any advice for debugging it? Right now I'm thinking that I'll try to increase IDM's trace level or debug level or what not...

[1064 byte] By [JimBeard] at [2007-11-26 9:44:11]
# 1
Also, we have IDM installed on two different servers. It seems to only happen to one server (the new one) and not the other. Right now I've shut down the older server, and it hasn't changed the situation...
JimBeard at 2007-7-7 0:45:41 > top of Java-index,Web & Directory Servers,Directory Servers...
# 2
It also doesn't matter if I connect the resource adapter using a different oracle db user...
JimBeard at 2007-7-7 0:45:41 > top of Java-index,Web & Directory Servers,Directory Servers...
# 3
Also, the two servers have two different repositories, one (the old one) on MySQL, and one (the new one) on Oracle. I haven't had any deadlock issues with the MySQL based instance.
JimBeard at 2007-7-7 0:45:41 > top of Java-index,Web & Directory Servers,Directory Servers...
# 4

I resolved the issue, though not directly. The oracle trace logs seemed to indicate that the deadlock had to do with locks on the Task table. While trying to find a good system log report of the error in IDM I launched a system log maintenance task. The system log then had only one entry in it. A warning that indicated that the system log maintenance task had encountered a lock on task table and broken it. After that they deadlock issue went away.

This behavior seemed a little flakey, and it was hard not to think that IDM was at fault...

JimBeard at 2007-7-7 0:45:41 > top of Java-index,Web & Directory Servers,Directory Servers...