Hi there, just again, I've been bit in my tender parts by the well-known problem that
1. thread A locks its EC 2. thread B saves some change into DB 3. thread A saves its own changes (of different properties), which alas as a side-effect also reverts B's changes ... ... since A's EC still contains the state before B's changes, and when that state is compared with the shared snapshot (updated in step 2), the original outdated object state before B's changes looks like a new change done by A and thus is saved. Isn't there some general solution of this problem? I can think of at least three: (a) always unlock (and immediately re-lock) EC before saving, preferably directly in the ERXEC.saveChanges() code (resp. overridden saveChanges of my own ERXEC subclass, set as er.extensions.ERXEC.editingContextClassName). That, far as I understand, would merge all the other changes (of which EOF already well knows due to the notifications, but it can't merge them whilst the EC is locked). That would be pretty easy to do, but I am not sure of other dangers which it possibly might bring? There could be plenty, I am afraid. (b) implement EC-based non-shared snapshots and use them instead of (or rather along with) the shared ones to determine what to save into the DB. That would be considerably more work, again with possible dangers which I can't quite see now. (c) invent a scheme with timestamps attached to individual properties in shapshots and compare them, letting the newest win. Probably too much at the rube-goldbergish side to be practical. Has somebody already tried and tested either (a) or (b) or (c) or any other approach, better than those three, to alleviate this kind of problems with a success? Thanks, 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