David:

I do lock on a last updated attribute (modifyDate) that is a timestamp. I have 
always done this in all my models - probably since when I was first trained by 
Apple, that was how our early models were built.

Then modifyDate is always updated by a editing context delegate.

Is this something I should take out? I'm concerned about what could happen 
after all this time. I do have multiple apps that use the same "Person" entity 
to make relationships and such so maybe the locking collision is there.

Tim
UCLA GSE&IS

On Jun 3, 2013, at 3:01 PM, David LeBer <[email protected]> wrote:

> Tim,
> 
> Have you checked all of the usual suspects for optimistic locking problems in 
> your model?
> 
> Locking on blobs and timestamps are the two that come to mind.
> 
> We've run D2W apps in production for ages without these kinds of problems, so 
> it is not a widespread issue that needs an across the board fix.
> 
> D
> 
> --
> David LeBer
> Codeferous Software
> 
> On 2013-06-03, at 5:50 PM, Tim Worman <[email protected]> wrote:
> 
>> Ramsey:
>> 
>> Thanks much. I'll check out freshness explorer.
>> 
>> What do you do for D2W typically? Clobber all fetches with a rule and have 
>> it always refreshRefetchedObjects for everything or do you typically only 
>> put a rule in for certain views and relationships?
>> 
>> Tim
>> 
>> On Jun 3, 2013, at 1:19 PM, Ramsey Gurley <[email protected]> wrote:
>> 
>>> 
>>> On Jun 3, 2013, at 12:06 PM, Tim Worman wrote:
>>> 
>>>> an optimistic locking problem I believe. If I kick a new instance 
>>>> everything is fine.
>>> 
>>> That sounds like you need to refreshRefetchedObjects on your fetch spec. If 
>>> you've previously fetched a row, and then another instance changes that 
>>> same row, then you fetch the row again in the first instance, the snapshot 
>>> is not refreshed unless you tell it do so explicitly.  
>>> 
>>> With the default false value for refreshRefetchedObjects, you can actually 
>>> fetch with a qualifier q, and then filter your fetched array with q in 
>>> memory and get a smaller array of results. 
>>> 
>>> I suggest playing around with the freshness explorer app for a few minutes. 
>>> I found the results to be eye opening.
>>> 
>>> https://github.com/nullterminated/ponder/blob/master/ERR2d2w/Support/FreshnessExplorer.zip
>>> 
>>> Ramsey
>>> 
>> 
>> 
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list      ([email protected])
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/webobjects-dev/dleber_wodev%40codeferous.com
>> 
>> This email sent to [email protected]
> 


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

This email sent to [email protected]

Reply via email to