Why does invalidateObjects() force all other contexts to delete the object?

From: Mike Kienenberger (mkienen..laska.net)
Date: Thu Dec 30 2004 - 13:05:41 EST

  • Next message: Mike Kienenberger: "Re: Why does invalidateObjects() force all other contexts to delete the object?"

    I've finally tracked down an insidious bug that's been hitting me.

    Whenever one datacontext invalidates an object, the object becomes transient
    in all other contexts, rather than hollow.

    That doesn't seem right to me.

    The problem appears to be that ObjectStore.objectsInvalidated() changes its
    own objects to HOLLOW, but then sends out a processSnapshotChanges() event
    with the object marked as deleted.

    Then the DataRowStore deleted those objects when it receives the message.

    Somehow, a snapshot event needs to be sent out that invalidates rather than
    deletes the object.

    Maybe this is only affecting me because I'm using a LocalEventBridge to
    share events with dataDomain.setSharedCacheEnabled(false), but I still
    believe there's an inconsistency here.

    Unfortunately, I can't think of a good solution or even workaround off the
    top of my head.

    -Mike



    This archive was generated by hypermail 2.0.0 : Thu Dec 30 2004 - 13:03:39 EST