The following originated from discussion on a feature in HBase which relies
on zookeeper for coordination.
A task is removed from the tasks map. An async ZK request is pending to
remove the task's zk node.
Another request arrives for this to-be-deleted task. A new in-memory task
structure is created. A ZK request is scheduled to create the same task
Problem will only occur if create-node executes before delete-node in ZK.
(If create-node returns NODEEXISTS then we treat that as success).
Does ZK re-order async requests?