Mike, would it be possible to create a small standalone unit test to reproduce this?

Andrus


On Jul 7, 2006, at 3:46 PM, Gentry, Michael ((Contractor)) wrote:

I hate to be a party pooper, but I have another concern ...

Now that I can insert again (thanks!), I run into this problem. Given:

CollectionElement ->> Item <<- Notification

If I insert an Item (it is just a many-to-many linkage table) in one
request, and then immediately delete it again in the next request, I am getting optimistic locking exceptions. If I restart the app, I can then
go in and delete it.  Here are some of the logs when doing the delete:


item (starting out):
PID=0x00000000000000225c85a35e]{<ObjectId:PSEnumeratedItem,
[EMAIL PROTECTED]>; committed;
[collectionElement=>{<ObjectId:PSLocalCollectionElement,
[EMAIL PROTECTED]>}; moniker=>ES;
notification=>{<ObjectId:FENotification, [EMAIL PROTECTED]>}]}

collectionElement.removeFromItems(item);
[PID=0x00000000000000225c85a35e]{<ObjectId:PSEnumeratedItem,
[EMAIL PROTECTED]>; modified; [collectionElement=>null; moniker=>ES;
notification=>{<ObjectId:FENotification, [EMAIL PROTECTED]>}]}

notification.removeFromItems(item);
[PID=0x00000000000000225c85a35e]{<ObjectId:PSEnumeratedItem,
[EMAIL PROTECTED]>; modified; [collectionElement=>null; moniker=>ES;
notification=>null]}

dataContext.deleteObject(item);
[PID=0x00000000000000225c85a35e]{<ObjectId:PSEnumeratedItem,
[EMAIL PROTECTED]>; deleted; [collectionElement=>null; moniker=>ES;
notification=>null]}

dataContext.commitChanges();
org.objectstyle.cayenne.access.QueryLogger - DELETE FROM PS_Item WHERE
identifier = ? AND elementPID IS NULL AND moniker = ? AND objectPID IS
NULL
org.objectstyle.cayenne.access.QueryLogger - [bind: < 00 00 00 00 00 00
00 22 5C 85 A3 5E >, NULL, 'ES', NULL]
org.objectstyle.cayenne.access.QueryLogger  - *** error.
org.objectstyle.cayenne.access.OptimisticLockException: [v.1.2M12 March
23 2006] Optimistic Lock Failure, SQL: [DELETE FROM PS_Item WHERE
identifier = ? AND elementPID IS NULL AND moniker = ? AND objectPID IS
NULL], WHERE clause bindings: [moniker='ES', identifier=< 00 00 00 00 00
00 00 22 5C 85 A3 5E >, objectPID=NULL, elementPID=NULL]


Ignore the 1.2M12 -- I'm running against the latest from Subversion
within Eclipse (guess that M12 the last time I did a full build using
ant).  The bind output is also misleading -- 4 values for 2 ?'s (I
thought I fixed that at one point, but maybe that was for UPDATE only). Anyway, this code used to work in 1.2M9 (and earlier). I use optimistic
locking on everything, but there are no cascade/etc delete rules.

I'll experiment/debug more, just thought I'd report it in case you were
trying to put out the release.

Thanks!

/dev/mrg

-----Original Message-----
From: Andrus Adamchik [mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]> ]
Sent: Thursday, July 06, 2006 10:33 AM
To: [email protected]
Subject: Re: Final release?


Let's at least submit this as a bug. I think I may have an older
Linux box where I can put Sybase and play with a solution that I had
in mind.

In any event whatever fix we end up with, it should be possible to
stick it in a custom PkGenerator, so it shouldn't be a problem for
1.2 users if it goes in release 3.0 (and we can port it to 1.2.1 as
well).

Andrus

On Jul 6, 2006, at 10:16 AM, Gentry, Michael ((Contractor)) wrote:
My biggest concern right now is the Sybase PK question.  If I can get
our DBA (who is out right now) to set me up a playground somewhere,
I'll
test it. Of course, we could decide to handle that as a bug fix, too.
Either way, I won't be upgrading past M9 for a bit ...

Thanks,

/dev/mrg



-----Original Message-----
From: Andrus Adamchik [mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]> ]
Sent: Tuesday, July 04, 2006 11:07 AM
To: [email protected]
Subject: Final release?


I think it's time to make the final release of 1.2 and move ahead
with other things that we planned. I am working on finishing the
documentation (namely remote object persistence tutorial), and fixing
last minute bugs. I think we are in a good shape overall. So how
about a release sometime early next week.

Comments? Objections?

Andrus





Reply via email to