Hello, Indeed you stumbled across a bug in the ObjectEnvelopeTable class. The bug was fixed on 2002/12/23 13:27:59 which means it is not available on version 0.9.8. It is however available directly from the cvs server.
The Concurrent Modification Exception occurs while upgrading the locks in a commit operation of the ObjectEnvelopeTable class. The solution we came up with was to iterate over temporary vector while upgrading the locks. Cheers, Luis Cruz On Thu, 2003-01-02 at 16:15, sclark wrote: > I'm having some problems around the use of implicit recursive locking in ODMG. > I am using 0.9.8, though I had the same problems in 0.9.7. I'm using > isolation-level="read-uncommitted", ImplicitLocking=true, and > LockAssociations=WRITE. > > The first problem is that I sometimes get a ConcurrentModificationException in > commit: > > java.util.ConcurrentModificationException > at > java.util.AbstractList$Itr.checkForComodification(AbstractList.java:440) > at java.util.AbstractList$Itr.next(AbstractList.java:413) > at org.apache.ojb.odmg.ObjectEnvelopeTable.commit(Unknown Source) > at org.apache.ojb.odmg.TransactionImpl.doCommitOnObjects(Unknown Source) > at org.apache.ojb.odmg.TransactionImpl.prepare(Unknown Source) > at org.apache.ojb.odmg.TransactionImpl.commit(Unknown Source) > > I think this is happening because I've explicitly locked an object which is > reachable from another object which also has been locked to the transaction, > i.e.: > > tx.lock(anObject, tx.WRITE); > tx.lock(anObject.getRelationship().getAnotherRelationship()); > > A second, presumably related problem is that ODMG doesn't seem to allow cycles > in my instance graph - i.e., I have a Study object which has a collection of > Contacts, and each Contact points back to its Study. When I try to lock a > Study, OJB goes off and locks each Contact, and in turn tries to lock each > Contact's study - which consistently fails. I confess that I haven't verified > this in 0.9.8, but it was very consistent in 0.9.7. > > I assume that there's something fundamental that I'm misunderstanding. Can > anybody shed some light on this? > > thanks in advance, > -steve > > Steve Clark > Technology Applications Team > Natural Resources Research Center/USGS > [EMAIL PROTECTED] > (970)226-9291 > > > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
