Re: ERD2W and EOGeneralAdaptorException
Re: ERD2W and EOGeneralAdaptorException
- Subject: Re: ERD2W and EOGeneralAdaptorException
- From: Tim Worman <email@hidden>
- Date: Mon, 03 Jun 2013 15:21:52 -0700
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@hidden> 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@hidden> 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@hidden> 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@hidden)
>> Help/Unsubscribe/Update your Subscription:
>>
>> This email sent to email@hidden
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden