Hi,

Yessss, we get rid of those dead locks.

Actually, OJB does not cause anything to have Oracle dead locks!! Many
applications can have dead locks without any lines of bad (OJB) code.

Bad locks are generated when oracle can 't do simple operations as UPDATE OR
DELETE, when time to verify foreign key is simply too long ( > 1s) . This
can occur when a table reaches a big size (million of records) and if those
table haven't appropriate index on foreign key code. Mounting index on
foreign key code is necessary !! (Oracle 10)

I suggest a doclet/option to generate automatically indexes based on reverse
foreignkey  declaration code.

Anyway, a big information on documentation, about this need from big Oracle
databse.

After, DB works very faster and do not throw dead locks errors ORA-00060. I
known, this trouble only concerns only Oracle usages. But i think it have to
figure in documentation.

Regards.

Thanks for help.



On 12/8/06, Armin Waibel <[EMAIL PROTECTED]> wrote:

Bruno CROS wrote:
> No. I don't known how to write such a test. But i have an idea where it
> occurs in the persistent graph.
>
> I use locks on OJB master object (at start of transaction) when possible
> (even with delete). I think with this, two transactions can't run at the
> same time on the same part of persistent graph.

Only if implicit locking is enabled, else only the specified object is
locked and not the whole graph. If not enabled you have to lock all
objects before changing or deleting by yourself.
You can enable implicit locking on a per tx manner using OJB's
odmg-extensions - TxExt.

http://db.apache.org/ojb/docu/guides/odmg-guide.html#The+TransactionExt+Interface
In this case all referenced objects will implicit locked with the same
lock mode as the master object (on very large object graphs this could
slow down performance).

regards,
Armin

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to