All, I'm working on a ZK deployment that will support a heterogeneous set of processes connecting to the ZK and creating ephemeral nodes. We have the conflicting requirements that: a) If a process crashes (closes its socket) without calling a proper close, we would like the ephemeral node to go away quickly, and b) If a process does not cause a socket close, wait for a potentially long session timeout before removing its nodes (imagine a huge Java process doing a several minute full GC)
I foolishly did not investigate the ZK code closely enough and it seems that closing the socket still waits for the session timeout to remove the session. I will probably have to hack together some sort of option to expire sessions immediately upon socket close, any ideas of issues I might expect putting such a feature in? Also, is there any appetite to have such a thing contributed back to the project if I get it working well? Thanks, Camille