Ooooooh.  I had forgotten about that.  Does that qualify as a Heisenbug?


From: "o...@ocs.cz" <o...@ocs.cz>
Date: Wednesday, September 21, 2016 at 1:42 PM
To: Chuck Hill <ch...@gevityinc.com>
Cc: "webobjects-dev@lists.apple.com WebObjects" <webobjects-dev@lists.apple.com>
Subject: Re: EOF inserts already existing M:N relationships/empty snapshot?!?

Chuck,

On 21. 9. 2016, at 6:10 AM, Chuck Hill 
<ch...@gevityinc.com<mailto:ch...@gevityinc.com>> wrote:
I bet Alice was a developer too.

Beware the EOF, my son!
The jaws that bite, the claws that catch!

Looks like I have found the culprit — seems it was the very log of the 
committed snapshot. It looks like that if one calls e.g.,

eo.editingContext().committedSnapshotForObject(eo)

at the wrong moment — which did happen to me originally (solely for the logging 
purposes, darnit!), and the more logs I have added, the worse it got — one of 
the not-quite-presumed side-effects of that would be that the snapshots do not 
get properly recorded anymore for eo. Quadruple weird!

When I have removed all the committedSnapshotForObject calls, it starts to run 
properly for all the M:N's, without a glitch. Adding logs immediately 
pre-saveChanges (it seems to be safe at the moment), the snapshot proved to be 
right; and saveChanges sends only the inserts it should.

Matter of fact, we even have bumped to (another presentation of) the very same 
problem some time ago, to wit:

On 28. 2. 2015, at 7:54 PM, Chuck Hill 
<ch...@gevityinc.com<mailto:ch...@gevityinc.com>> wrote:
Ah, Schrödinger’s EOF. :-P  Observing some things can materially change the 
state of EOF.   Calling this method calls ec.committedSnapshotForObject() which 
causes the EC to record the committed snapshot for the object at that point in 
time.  Normally this is done only at the point the EO first changes.

Whew!

Thanks a very big lot for all the help,
OC


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to