> isn't the entire optimization redundant anyway?
With ZooKeeper the ephemeral znode is linked to a session, and if you restart the process it will have a different session. So you also need to manage the znode deletion explicitly in this case. It's possible of course, I have a little preference for the 'ultimate line in the script' as it does not rely on the restart but both options are likely good.