How do I check if a path exists in Zookeeper using Curator?

Cody S picture Cody S · Sep 21, 2012 · Viewed 13.3k times · Source

I'm currently in the early stages of development to integrate Zookeeper stuff into my app. I'm using Netflix's Curator as an API for dealing with Zookeeper. I get the gist of most of it (like adding ZNodes and whatnot).

But how the heck do you check if a ZNode exists? The code that seems like it would work is:

client.checkExists().forPath(path);

...Where client is an instance of com.netflix.curator.framework.CuratorFramework

However, this call returns a org.apache.zookeeper.data.Stat object.

Using this object, how can I tell if a path exists or not?

Thanks

Answer

willglynn picture willglynn · Sep 22, 2012

The org.apache.zookeeper.data.Stat object is metadata about that ZNode. (It's conceptually similar to how stat() tells you information about a file on the filesystem, hence the name.) checkExists().forPath() returns a Stat if it exists, or null if it doesn't.