Archived

This forum has been archived. Please start a new discussion on GitHub.

IceGrid/IcePatch2 minor issues

Ice 3.1.0 on Linux with IceGrid patches applied (3.1.1 hasn't made it to the Debian testing distro yet).

I have one "main node" with a collocated registy and two satellite nodes which get patched and then run some executables. Comms happen over a fairly slow wireless ethernet. I have a couple of minor issues and suggestions.


1. the admin utility is run on the same machine as where the node/registry runs. It gives this warning but the patch DOES work. does it make sense?

>>> application add app.xml
warning: the patch failed on some nodes:
- patch on node `Alpha' failed: node is unreachable:
ConnectionI.cpp:475: Ice::TimeoutException:
timeout while sending or receiving data
- patch on node `Bravo' failed: node is unreachable:
ConnectionI.cpp:475: Ice::TimeoutException:
timeout while sending or receiving data


2. given the uncertainty related to the exception above, i think it'd be reassuaring to print out "downloading completed" statement similar to the "getting list of file(s)" line. Here's the printout on the one of the satellite nodes.

[ icegridnode: Patch: distrib/Rover: getting list of file to patch ]
[ icegridnode: Patch: distrib/Rover: getting list of file to patch completed ]
[ icegridnode: Patch: distrib/Rover: downloading 32578KB ]


3. I also get this low-thread-pool warning at the node which also runs the registry. does this make sense? (note the max and warning sizes).

icegridnode: warning: thread pool `IceGrid.Registry.Client.ThreadPool' is running low on threads Size=1, SizeMax=10, SizeWarn=8

thanks, alex


here's the config file for the main node with registry.

#
# The IceGrid locator proxy.
#
Ice.Default.Locator=IceGrid/Locator:default -p 12000

#
# IceGrid registry configuration.
#
IceGrid.Registry.Client.Endpoints=default -p 12000
IceGrid.Registry.Server.Endpoints=default
IceGrid.Registry.Internal.Endpoints=default
IceGrid.Registry.Admin.Endpoints=default
IceGrid.Registry.Data=/home/bruce/sys/icenode/regdb
#IceGrid.Registry.PermissionsVerifier=IceGrid/NullPermissionsVerifier
#IceGrid.Registry.AdminPermissionsVerifier=IceGrid/NullPermissionsVerifier
IceGrid.Registry.DynamicRegistration=1
IceGrid.Registry.DefaultTemplates=/home/bruce/install/Ice-3.1.0/config/templates.xml

#
# IceGrid node configuration.
#
IceGrid.Node.Name=Base
IceGrid.Node.Endpoints=default
IceGrid.Node.Data=/home/bruce/sys/icenode/nodedb
IceGrid.Node.CollocateRegistry=1
#IceGrid.Node.Output=/home/bruce/sys/icenode/nodedb
#IceGrid.Node.RedirectErrToOut=1

#
# Trace properties.
#
IceGrid.Node.Trace.Activator=1
IceGrid.Node.Trace.Patch=1

Comments

  • benoit
    benoit Rennes, France
    n2503v wrote:
    1. the admin utility is run on the same machine as where the node/registry runs. It gives this warning but the patch DOES work. does it make sense?

    Yes, the timeout occurs because the nodes being patched don't answer the patch request from the admin interface in a timely manner. However, the patch completes successfully. Improving the feedback of the admin utilities when patching nodes is on our TODO list. This will fix this problem.
    2. given the uncertainty related to the exception above, i think it'd be reassuaring to print out "downloading completed" statement similar to the "getting list of file(s)" line. Here's the printout on the one of the satellite nodes.

    [ icegridnode: Patch: distrib/Rover: getting list of file to patch ]
    [ icegridnode: Patch: distrib/Rover: getting list of file to patch completed ]
    [ icegridnode: Patch: distrib/Rover: downloading 32578KB ]

    Yes, I agree. We'll fix this for the next release.
    3. I also get this low-thread-pool warning at the node which also runs the registry. does this make sense? (note the max and warning sizes).

    icegridnode: warning: thread pool `IceGrid.Registry.Client.ThreadPool' is running low on threads Size=1, SizeMax=10, SizeWarn=8

    Yes, this can be expected if many clients invoke on the locator interface and the locator interface implementation is busy invoking on the slow nodes to get the information requested by the clients.

    Cheers,
    Benoit.
  • thanks, all makes sense. regarding the pool size...

    > icegridnode: warning: thread pool
    >`IceGrid.Registry.Client.ThreadPool' is running low on threads
    > Size=1, SizeMax=10, SizeWarn=8

    > Yes, this can be expected if many clients invoke on the
    > locator interface and the locator interface implementation is
    > busy invoking on the slow nodes to get the information
    > requested by the clients.

    I thought the trace above means: current pool size=1. then why doesn't it increase to max size=10? and shouldn't it start complaining when the pool size gets to 8?

    alex
  • benoit
    benoit Rennes, France
    Hi Alex,

    No, the warning just prints the Size, SizeWarn and SizeMax configuration of the thread pool, not the current size of the pool. You get the warning when the number of threads of the thread pool is equal to "SizeWarn" . So in your case, when the thread pool size reaches 8 threads.

    Cheers,
    Benoit.