Hi,
Actually, the IceGrid registry is careful not to lock anything while calling on the IceGrid nodes to notify them that the application was updated so it's not clear to me where you think this isn't the case. The scenario you're describing should definitely work.
We would need a lot more information in order to figure out what the problem is:
- operating system version
- Ice version
- configuration of your registry and nodes
- the deployment descriptor of your application
- your clients proxy configuration (i.e.: whether or not they use connection caching, locator cache timeout, timeouts, etc).
- eventually, some stack traces of the registry and nodes once a hang occurs.
You could also try enabling some tracing on the registry and nodes to see if this can help to figure out where the application update process hangs:
Code:
IceGrid.Registry.Trace.Application=1
IceGrid.Registry.Trace.Server=2
IceGrid.Node.Trace.Server=3
Finally, for such a deployment and if you need a resolution as soon as possible, you should consider purchasing commercial support as the free support we can provide on these forums is limited. Please contact us at info@zeroc.com for more information on our commercial support.
Cheers,
Benoit.