Probably even more damaging is that refetchObject() calls invalidateObject().
So even if there's some small justification to treat an invalidated object
as deleted in another context, there's none to treat a refetched object as a
deleted object.
-Mike
Mike Kienenberger <mkienen..laska.net> wrote:
> 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:10:22 EST