Thanks Chuck.

Well, what has maybe changed is that more of my apps are moving toward using 
the same PERSON object. Thank you ERXPartial by the way. But maybe that creates 
collisions.

So, if it does become more problematic. What should I lock on? :-) modifyDate 
seems on the surface to be a pretty good candidate. But, what do others choose 
if it isn't a good candidate?

Tim

On Jun 3, 2013, at 3:34 PM, Chuck Hill <ch...@global-village.net> wrote:

> It depends on your database.  If that has not changed recently, then this is 
> probably not the source of your problem.  Usually this either works reliably 
> or does not work, also reliably.  :-)
> 
> 
> On 2013-06-03, at 3:21 PM, Tim Worman wrote:
> 
>> 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 <dleber_wo...@codeferous.com> 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 <li...@thetimmy.com> 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 <rgur...@smarthealth.com> 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      (Webobjects-dev@lists.apple.com)
>>>> Help/Unsubscribe/Update your Subscription:
>>>> https://lists.apple.com/mailman/options/webobjects-dev/dleber_wodev%40codeferous.com
>>>> 
>>>> This email sent to dleber_wo...@codeferous.com
>>> 
>> 
>> 
>> _______________________________________________
>> 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/chill%40global-village.net
>> 
>> This email sent to ch...@global-village.net
> 
> -- 
> Chuck Hill             
> Executive Managing Partner, VP Development and Technical Services
> 
> Practical WebObjects - for developers who want to increase their overall 
> knowledge of WebObjects or who are trying to solve specific problems.    
> http://www.global-village.net/gvc/practical_webobjects
> 
> Global Village Consulting ranks 13th in 2012 in BIV's Top 100 Fastest Growing 
> Companies in B.C! 
> Global Village Consulting ranks 76th in 24th annual PROFIT 200 ranking of 
> Canada’s Fastest-Growing Companies by PROFIT Magazine!
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 


 _______________________________________________
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