Go Back   ZeroC Forums > Help Center

Reply
 
LinkBack Thread Tools Rate Thread Display Modes
  #1 (permalink)  
Old 05-14-2008
n2503v n2503v is offline
Registered User
 
Name: Alex Makarenko
Organization: ACFR, University of Sydney
Project: Orca
 
Join Date: Jun 2005
Posts: 77
concurrent calls to IceGrid::Admin?

I get IceGrid Registry to hang when calling IceGrid::Admin::startServer() simultaneously from multiple threads of my client. This only happens when the Ice.ThreadPool.Client.SizeMax>1 (e.g. 5) is set for the Registry/Node.

Here's what I do. The registry has a bunch of servers in the application (e.g. 20). I create a session with the registry and call Session::getAdmin(). Then I give a copy of IceGrid::AdminPrx and one of the server ID's to each of my client's threads (e.g. 20 threads).

I can reproduce this using my multi-threaded client and the Hello Server from the IceGrid simple example. I'm also using the registry/node configs from the same example.

Before I provide code and traces I'd like to ask if what I'm doing is supposed to work? Is there something strange because of the session? Does every client thread need its own session?

Linux, Ice 3.2.1

thanks for the free support,
alex
__________________
Alex Makarenko
Australian Centre for Field Robotics
The University of Sydney
www.cas.edu.au
project: orca-robotics.sf.net
Reply With Quote
  #2 (permalink)  
Old 05-14-2008
benoit's Avatar
benoit benoit is offline
ZeroC Staff
 
Name: Benoit Foucher
Organization: ZeroC, Inc.
Project: Ice
 
Join Date: Feb 2003
Location: Rennes, France
Posts: 1,451
Hi Alex,

This should work. Could you attach the IceGrid registry and node with the debugger and post the thread dumps?

Cheers,
Benoit.
Reply With Quote
  #3 (permalink)  
Old 05-15-2008
n2503v n2503v is offline
Registered User
 
Name: Alex Makarenko
Organization: ACFR, University of Sydney
Project: Orca
 
Join Date: Jun 2005
Posts: 77
Hi Benoit,

in order to get debugging information I had to install Ice from source, so I decided that I may as well use 3.3b.

but ... I can't reproduce the problem with 3.3! The same code seems to hang in 3.2.1 but not in 3.3b. I guess that's good news.

the workaround in 3.2.1 seems to be to set the number of threads in my own "thread pool" to be strictly less than the number of threads available to any of the registry/node in the system. I'm not sure exactly which pool is the limiting factor, so I don't specify any SizeMax explicitly and only use 9 threads in my client.

I'm happy to wait for the 3.3 upgrade or I can run more tests with 3.2.1 if you are curious to know what's going on.

thanks, alex
__________________
Alex Makarenko
Australian Centre for Field Robotics
The University of Sydney
www.cas.edu.au
project: orca-robotics.sf.net
Reply With Quote
  #4 (permalink)  
Old 05-15-2008
benoit's Avatar
benoit benoit is offline
ZeroC Staff
 
Name: Benoit Foucher
Organization: ZeroC, Inc.
Project: Ice
 
Join Date: Feb 2003
Location: Rennes, France
Posts: 1,451
Hi Alex,

We changed the implementation of the Admin stopServer method in Ice 3.3 to forward the stop request to the IceGrid node using an AMI call rather than a synchronous call. This is the reason why it works now with 3.3.

So with 3.2.1, to avoid this hang, you should configure more threads for the IceGrid.Registry.Client thread pool (default is a maximum of 10 threads). For example:

Code:
   IceGrid.Registry.Client.ThreadPool.Size=1
   IceGrid.Registry.Client.ThreadPool.SizeMax=100
Cheers,
Benoit.
Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
throughput when calling concurrent calls. aozarov Help Center 13 03-25-2008 08:30 AM
IceGrid::Admin & Python rlimberger Help Center 1 06-15-2007 06:18 PM
IceGrid Admin Proxy Greenhippo Help Center 1 03-30-2007 11:01 PM
Starting servers with IceGrid::Admin borax00 Help Center 2 03-18-2007 11:00 PM
IceGrid 3.0 Admin migration brian Help Center 3 12-15-2005 03:51 AM


All times are GMT -4. The time now is 02:50 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.0.0
(c) 2008 ZeroC, Inc.