On 2012-03-23, at 11:07 AM, Pascal Robert wrote:

> 
> Le 2012-03-23 à 14:05, Chuck Hill a écrit :
> 
>> 
>> On 2012-03-23, at 10:56 AM, John Huss wrote:
>> 
>>> Cayenne supports this kind of concurrency and will utilize multiple 
>>> connections to the database without requiring a duplicate stack like EOF 
>>> does.  So for concurrency it is a much better choice than EOF.   And it's 
>>> easy to get started if you're familiar with EOF already.  It can be used 
>>> inside a WO app with no problems.
>> 
>> That sounds like a great WOWODC presentation just waiting to happen…
> 
> Don't you think I already asked? :-/

Do you think we could shame him into it?  Hmmm, do we know where he lives?  :-P



> 
>> 
>>> 
>>> John
>>> 
>>> On Fri, Mar 23, 2012 at 10:58 AM, Ramsey Gurley <ramseygur...@gmail.com> 
>>> wrote:
>>> My main goal is to better understand EOF conceptually :-) I was playing 
>>> with the ERXOSCPool just for kicks and found a leak. I wondered why an 
>>> entirely new OSC was even needed to make a second connection to the db.  
>>> Seems like overkill. So I fugetuboutit.
>>> 
>>> Later, I'm rereading through the old docs and find that little gem about 
>>> opening new database channels.  It seems that at least conceptually, 
>>> creating new channels would be the proper way to handle multiple 
>>> connections to the database.
>>> 
>>> But it doesn't work. After finding the object store lock… I wonder if it 
>>> ever worked?  The fact that it was documented makes me think that maybe 
>>> once upon a time, it worked.  However, this wouldn't be the first time the 
>>> docs were totally wrong.  The fact that it suggests making every session in 
>>> the app a listener for that notification only reinforces my suspicions that 
>>> the docs were just wrong.
>>> 
>>> Because of the lock, that notification is only ever fired once. So it's 
>>> possible to create multiple connections, but only one of them will ever be 
>>> used. The docs also suggest that an EODatabase may have multiple 
>>> EODatabaseContexts.  But then this will have the same problem with the 
>>> object store lock and may even exhibit the same problem that results in 
>>> leaks in the OSCPool.
>>> 
>>> I'm coming to the conclusion that the best way to distribute load across 
>>> multiple channels would be to simply have multiple instances of an app. 
>>> Knowing that would definitely have an influence on any sort of bulk 
>>> processing operations I might design in the future.
>>> 
>>> I also wonder if this information can be used to implement more effective 
>>> load balancing.  No reason to direct users to an instance if one user on 
>>> that instance has EOF tied up fetching a large blob out of the database for 
>>> instance. I'll have to look for the location of the load balancer in WO 
>>> sometime.  I'd like to see how it works.
>>> 
>>> Anyway, thanks for all the input everyone :-) I think I understand the 
>>> point of the object store lock now.
>>> 
>>> Ramsey
>>> 
>>> On Mar 22, 2012, at 7:53 PM, Chuck Hill wrote:
>>> 
>>>> OK, so... my first question has to be "what is your goal?  What are you 
>>>> trying to accomplish?"  This is NOT going to make EOF multi-threaded.
>>>> 
>>>> 
>>>> Chuck
>>>> 
>>>> 
>>>> On 2012-03-22, at 7:34 PM, Ramsey Gurley wrote:
>>>> 
>>>>> Hi all,
>>>>> 
>>>>> I'm looking at trying to open multiple database channels in a single 
>>>>> instance of a WO app. No reason, just wondering if it can be done.  I 
>>>>> know there's ERXObjectStoreCoordinator pool, but this conceptually seems 
>>>>> like the wrong way to do it.  Maybe I want 4 open connections for one 
>>>>> database, but only one on another… whatever.  So I have a look at
>>>>> 
>>>>> https://developer.apple.com/legacy/mac/library/documentation/WebObjects/Enterprise_Objects/Connecting/Connecting.html#//apple_ref/doc/uid/TP30001011-CH210-TPXREF145
>>>>> 
>>>>> and this seems to be the answer to my question.  Well, until I try it. It 
>>>>> turns out that inside of objectsWithFetchSpec on EOEditingContext, the 
>>>>> objectstore is locked before a fetch takes place. As a result, no other 
>>>>> fetch can proceed until the object store is unlocked.  The answer seemed 
>>>>> suspicious in the fact that it's being done on the Session anyway...
>>>>> 
>>>>> So, I guess my question boils down to… is it even possible? Is this the 
>>>>> 'single EOF lock' that Chuck Hill and Ravi Mendis were referring to in a 
>>>>> previous list message?
>>>>> 
>>>>> Thanks,
>>>>> 
>>>>> 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/chill%40global-village.net
>>>>> 
>>>>> This email sent to ch...@global-village.net
>>>> 
>>>> --
>>>> Chuck Hill             Senior Consultant / VP Development
>>>> 
>>>> 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
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>> 
>>> 
>>> _______________________________________________
>>> 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/johnthuss%40gmail.com
>>> 
>>> This email sent to johnth...@gmail.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             Senior Consultant / VP Development
>> 
>> 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
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> 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/probert%40macti.ca
>> 
>> This email sent to prob...@macti.ca
> 

-- 
Chuck Hill             Senior Consultant / VP Development

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








Attachment: smime.p7s
Description: S/MIME cryptographic signature

 _______________________________________________
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