While using DBConcepts feature, the calls to Database.insert() are not always successful and the rule does not return from this call.
Cause: ===== This is mostly due to the following reasons.
1). Improper locking in the BE project could result in a situation where a session has issued an update/delete and has not committed. Any subsequent session (like BE) will wait trying to update/delete the same subset of records unless the original session has taken a table lock in which case inserts will block as well.
2). This could also happen when a third party application (like SQLdeveloper or similar application) has issued an update/delete and has not committed.
Resolution: =========
Take a thread dump on the running BE engine and scan for the block in SocketInputStream.read() socket call. If you see a blocked thread on this call then check use your SQL query tools (like Sqldeveloper/sqlplus) to query on V$Session to find out the session status. If you see a session waiting for a row lock to be released on the table try to issue a commit from the client that is holding the lock to that table. You can also check with your Database Administrator (DBA) to track down the offending application and close it.