RE: Final release?

From: Gentry, Michael \(Contractor\) ("Gentry,)
Date: Fri Jul 07 2006 - 16:04:34 EDT

  • Next message: Andrus Adamchik: "Re: Final release?"

    Just for kicks, here is the output when I try to delete (without an
    insert) after restarting the application (PK is slightly different
    because I've been running it a few times):

    org.objectstyle.cayenne.access.QueryLogger - --- will run 1 query.
    org.objectstyle.cayenne.access.QueryLogger - --- transaction started.
    org.objectstyle.cayenne.access.QueryLogger - DELETE FROM PS_Item WHERE
    identifier = ? AND elementPID = ? AND moniker = ? AND objectPID = ?
    org.objectstyle.cayenne.access.QueryLogger - [bind: < 00 00 00 00 00 00
    00 22 5C 85 A3 61 >, < 00 00 00 00 00 00 00 22 5C 84 60 A7 >, 'ES', < 00
    00 00 00 00 00 00 22 59 33 01 59 >]
    org.objectstyle.cayenne.access.QueryLogger - === updated 1 row.
    org.objectstyle.cayenne.access.QueryLogger - +++ transaction committed.

    Everything looks much better ...

    /dev/mrg

    -----Original Message-----
    From: Gentry, Michael (Contractor) [mailto:michael_gentr..anniemae.com]

    Sent: Friday, July 07, 2006 3:47 PM
    To: cayenne-de..ncubator.apache.org
    Subject: RE: Final release?

    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,
    identifier=[..d5543>; committed;
    [collectionElement=>{<ObjectId:PSLocalCollectionElement,
    identifier=[..6c157>}; moniker=>ES;
    notification=>{<ObjectId:FENotification, identifier=[..36b89>}]}
     
    collectionElement.removeFromItems(item);
    [PID=0x00000000000000225c85a35e]{<ObjectId:PSEnumeratedItem,
    identifier=[..d5543>; modified; [collectionElement=>null; moniker=>ES;
    notification=>{<ObjectId:FENotification, identifier=[..36b89>}]}
     
    notification.removeFromItems(item);
    [PID=0x00000000000000225c85a35e]{<ObjectId:PSEnumeratedItem,
    identifier=[..d5543>; modified; [collectionElement=>null; moniker=>ES;
    notification=>null]}
     
    dataContext.deleteObject(item);
    [PID=0x00000000000000225c85a35e]{<ObjectId:PSEnumeratedItem,
    identifier=[..d5543>; 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:andru..bjectstyle.org
    <mailto:andru..bjectstyle.org> ]
    Sent: Thursday, July 06, 2006 10:33 AM
    To: cayenne-de..ncubator.apache.org
    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:andru..bjectstyle.org
    <mailto:andru..bjectstyle.org> ]
    > Sent: Tuesday, July 04, 2006 11:07 AM
    > To: cayenne-de..ncubator.apache.org
    > 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
    >



    This archive was generated by hypermail 2.0.0 : Fri Jul 07 2006 - 16:06:13 EDT