As, I understand Lock is given to a client which creates the lowest sequential child ephemeral znode under the parent lock znode, and other client waits for the lock to be released.
Is there a try lock feature ? A client can try to acquire a lock and if it is fails should continue rather to wait.