liebke/zookeeper-clj — pull request #9 by EugenDueck (2013-09-05 06:21:22+00:00)
Title: Fixed create fn to return false if node already exists

The doc string says `If the node already exists, create will return false.` but the implementation returned the path of the node instead.

I fixed this (so that callers of `create` can distinguish the two cases), but this is a breaking change, so if other code (like e.g. in `avout`) already depends on the "contra-documented" feature, it will break.

`create-all` is such an example which could fail due to the change in `create`'s return value, had I not also taken care of that.

With the old version of `create-all`, in case of a rare race condition where the node in question is created by another process or thread in-between the call to `(exists ... node)` and the subsequent call to `(create ... node)`,