diff options
author | Harald Musum <musum@oath.com> | 2018-06-04 13:32:15 +0200 |
---|---|---|
committer | Harald Musum <musum@oath.com> | 2018-06-04 13:32:15 +0200 |
commit | ba5119380c63568274eb94aa6bcd44e8184457d4 (patch) | |
tree | a3053c100268ab3ea58dcb7e9afe389b0fd8e60e /zkfacade | |
parent | d4297ad79053fd359abf6cdf43bb5428461682e5 (diff) |
Do not delete unused tenants that have been created last week
* Add support for getting stat info for a zookeeper node
* For unused tenants, check when tenant was created and do not delete
unless TTL (7 days) has been exceeded
Diffstat (limited to 'zkfacade')
-rw-r--r-- | zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java b/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java index 0e0c7401e0e..6ba394c340d 100644 --- a/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java +++ b/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java @@ -21,6 +21,7 @@ import org.apache.curator.framework.recipes.locks.InterProcessMutex; import org.apache.curator.framework.state.ConnectionState; import org.apache.curator.framework.state.ConnectionStateListener; import org.apache.curator.retry.ExponentialBackoffRetry; +import org.apache.zookeeper.data.Stat; import java.time.Duration; import java.util.Arrays; @@ -298,6 +299,21 @@ public class Curator implements AutoCloseable { } } + /** + * Returns the stat data at the given path. + * Empty is returned if the path does not exist. + */ + public Optional<Stat> getStat(Path path) { + if ( ! exists(path)) return Optional.empty(); + + try { + return Optional.of(framework().checkExists().forPath(path.getAbsolute())); + } + catch (Exception e) { + throw new RuntimeException("Could not get data at " + path.getAbsolute(), e); + } + } + /** Returns the curator framework API */ public CuratorFramework framework() { return curatorFramework; |