[omniORB] Single-threaded behaviour changed between omniORB3 & omniORB4?

Donnacha Forde dmf2k2@yahoo.com
Thu Feb 6 11:08:02 2003


Hi Jorge, 

Thank you for your response. I replied yesterday but
somehow, it didn't make the list. 

Since then, Duncan Grisby posted a response, which
sheds some more light on the issue.
http://www.omniorb-support.com/pipermail/omniorb-list/2003-February/022944.html


In reference to your response, yes I saw that
configuration option in the omniORB.cfg file but I
reasoned that it would only affect the behaviour of
the orb and woulden-crouchencrouch upon my server
space. Duncan's response corrects me here. 

I further reasoned that the thread-policy of the
server is determined by the POA and that the default
is single-threaded. This does not appear to be the
case either. My understanding now is that this has to
be declare explicitly (i.e. SINGLE_THREAD_MODEL). 

Note also that, while your solution will solve the
problem when a single client sends multiple requests,
it will not protect against the scenario where
multiple clients are connected. Each connection will
have its own thread which still means that you might
have unexpected concurrency. Correct?


Regards,
Donnacha

 --- jorgefm@cirsa.com wrote: > 
> Hi Donnacha !
> 
> I had a similar problem because in omniorb-4.x the
> behaviour is different
> from
> omniorb-3.x. You have to edit your /etc/omniORB.cfg
> and change the entry
> 
>   maxServerThreadPerConnection = 1
> 
> The default is 100, then when a client request a
> method, if the previous
> request from
> a connection is in process, the server throws a new
> thread to wait and be
> able to receive
> more request. The 'maxServerThreadPerConnection = 1'
> assures that the
> server dont throws
> a new thread and the connection is blocked until the
> request is completed,
> it was the
> omniorb-3.x default behaviour.
> 
> I hope it helps!
> Jorge
> 
> 
> 
>                                                     
>                                                     
>                                    
>                       Donnacha Forde                
>                                                     
>                                    
>                       <dmf2k2@yahoo.com>            
>   Para:     omniorb-list@omniorb-support.com        
>                                    
>                       Enviado por:                  
>   cc:                                               
>                                    
>                       omniorb-list-admin@omniorb-   
>   Asunto:   Re: [omniORB] Single-threaded behaviour
> changed between omniORB3 &          
>                       support.com                   
>      omniORB4?                                      
>                                    
>                                                     
>                                                     
>                                    
>                                                     
>                                                     
>                                    
>                       05/02/2003 13.21              
>                                                     
>                                    
>                                                     
>                                                     
>                                    
>                                                     
>                                                     
>                                    
> 
> 
> 
> 
> 
> More on this:
> 
> I've done some further testing and have discovered
> that the problem only occurs with oneway calls. In
> other words, the orb can/will deliver requests to my
> server on multiple threads when a oneway method is
> invoked.
> 
> Is this correct behaviour? Shouldn't these requests
> be
> delivered serially like normal requests?
> 
> Regards,
> Donnacha
> 
> 
>  --- Donnacha Forde <dmf2k2@yahoo.com> wrote: >
> > Platform Mix:
> > Solaris 8
> > gcc 3.2.1
> > omniORB-4.0.0
> >
> > Has the default thread behaviour for dispatching
> > requests changed between omniORB3 and omniORB4?
> Even
> > for oneway calls?
> >
> > I understand that the default behaviour is a
> server
> > is
> > single-threaded, regardless of how many threads
> the
> > orb uses underneath the covers. In other words,
> > requests are delivered serially to your
> > object/method
> > (unless you code it to be otherwise).
> >
> > I'm seeing behaviour contrary to this in a process
> > that supports a callback object (that supports a
> > oneway method). Occasionally, the method is being
> > invoked in parallel (i.e. at least two threads are
> > executing the method).
> >
> > Now, it may just be the nature of the thread error
> > but
> > it's only revealed itself since I began using
> > omniORB4.
> >
> > Any ideas?
> >
> > Regards,
> > Donnacha
> >
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Everything you'll ever need on one web page
> > from News and Sport to Email and Music Charts
> > http://uk.my.yahoo.com
> > _______________________________________________
> > omniORB-list mailing list
> > omniORB-list@omniorb-support.com
> >
>
http://www.omniorb-support.com/mailman/listinfo/omniorb-list
> 
> __________________________________________________
> Do You Yahoo!?
> Everything you'll ever need on one web page
> from News and Sport to Email and Music Charts
> http://uk.my.yahoo.com
> _______________________________________________
> omniORB-list mailing list
> omniORB-list@omniorb-support.com
>
http://www.omniorb-support.com/mailman/listinfo/omniorb-list
> 
> 
> 
> 
> 
> _______________________________________________
> omniORB-list mailing list
> omniORB-list@omniorb-support.com
>
http://www.omniorb-support.com/mailman/listinfo/omniorb-list 

__________________________________________________
Do You Yahoo!?
Everything you'll ever need on one web page
from News and Sport to Email and Music Charts
http://uk.my.yahoo.com