[erlang-questions] release_handler taking long till it can handle requests?

Oliver Korpilla Oliver.Korpilla@REDACTED
Thu Aug 17 17:48:07 CEST 2017


We are starting three nodes, connect them, and then run an application on each.

We see in the logs SASL entry that says that the child release_handler has been started.

If we send any upgrade requests to the system we seem to have to wait about 5s before we it seems to be actually ready. Before we get a noproc exit for any call to release_handler:which_releases(infinity).

If we wait these additional 5s, everything goes fine after without issue. 
If we only wait 3s, release_handler might not have come up on some nodes yet - at least we get this error for an erroneous gen_server call.

Applications are started in embedded mode, we're running on full releases here.

So, I'm not asking about the performance or timing of the hot code update itself. If we wait the prerequisite time, it just works. No issue there.

Given that up to 5s have to be waited even after the logs show the release_handler instances have been started (all nodes on same computer for test purposes, sharing same timebase), how could we determine that the system is ready to handle such requests?

We do the request by remote procedure call, so the system itself is not impacted at all. Our upgrades just fail. 

What's your experience? Is this normal, expected?

Thanks and kind regards,

More information about the erlang-questions mailing list