diff --git a/modules/cells/src/main/java/dmg/cells/nucleus/CellGlue.java b/modules/cells/src/main/java/dmg/cells/nucleus/CellGlue.java index f3dc51eff57..f04a3d752ca 100644 --- a/modules/cells/src/main/java/dmg/cells/nucleus/CellGlue.java +++ b/modules/cells/src/main/java/dmg/cells/nucleus/CellGlue.java @@ -6,9 +6,6 @@ import com.google.common.util.concurrent.MoreExecutors; import com.google.common.util.concurrent.ThreadFactoryBuilder; import org.apache.curator.framework.CuratorFramework; -import org.apache.curator.framework.state.ConnectionState; -import org.apache.zookeeper.WatchedEvent; -import org.apache.zookeeper.ZooKeeper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,7 +37,6 @@ class CellGlue { private static final Logger LOGGER = LoggerFactory.getLogger(CellGlue.class); - private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("org.dcache.zookeeper"); private final String _cellDomainName; private final ConcurrentMap _cellList = new ConcurrentHashMap<>(); @@ -79,7 +75,7 @@ class CellGlue System.currentTimeMillis(); } _cellDomainName = cellDomainNameLocal; - _curatorFramework = withMonitoring(curatorFramework); + _curatorFramework = curatorFramework; _domainAddress = new CellAddressCore("*", _cellDomainName); _masterThreadGroup = new ThreadGroup("Master-Thread-Group"); _killerThreadGroup = new ThreadGroup("Killer-Thread-Group"); @@ -99,24 +95,6 @@ class CellGlue _emergencyKillerExecutor = MoreExecutors.listeningDecorator(emergencyKillerExecutor); } - private static CuratorFramework withMonitoring(CuratorFramework curator) - { - curator.getConnectionStateListenable().addListener((c,s) -> - EVENT_LOGGER.info("[CURATOR: {}] connection state now {}", - c.getState(), s)); - - curator.getCuratorListenable().addListener((c,e) -> - EVENT_LOGGER.info("[CURATOR: {}] event: type={}, name={}, " - + "path={}, rc={}, children={}", - c.getState(), e.getType(), e.getName(), e.getPath(), - e.getResultCode(), e.getChildren())); - - curator.getUnhandledErrorListenable().addListener((m,e) -> - EVENT_LOGGER.warn("[CURATOR: {}] unhandled error \"{}\": {}", - curator.getState(), m, e.getMessage())); - return curator; - } - static Thread newThread(ThreadGroup threadGroup, Runnable r) { Thread thread = new Thread(threadGroup, r); diff --git a/modules/dcache/src/main/java/org/dcache/boot/Domain.java b/modules/dcache/src/main/java/org/dcache/boot/Domain.java index 76124baf0d7..5c9b7bcab5e 100644 --- a/modules/dcache/src/main/java/org/dcache/boot/Domain.java +++ b/modules/dcache/src/main/java/org/dcache/boot/Domain.java @@ -54,6 +54,8 @@ public class Domain private static final Logger _log = LoggerFactory.getLogger(SystemCell.class); + private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("org.dcache.zookeeper"); + private final ConfigurationProperties _properties; private final List _services; private final ResourceLoader _resourceLoader = new FileSystemResourceLoader(); @@ -159,9 +161,24 @@ protected CuratorFramework createCuratorFramework() int sessionTimeoutMs = getTime(PROPERTY_ZOOKEPER_SESSION_TIMEOUT, PROPERTY_ZOOKEPER_SESSION_TIMEOUT_UNIT); RetryPolicy retryPolicy = new ExponentialBackoffRetry(baseSleepTimeMs, maxRetries); - return CuratorFrameworkFactory.newClient(zookeeperConnectionString, + CuratorFramework curator = CuratorFrameworkFactory.newClient(zookeeperConnectionString, sessionTimeoutMs, connectionTimeoutMs, retryPolicy); + + curator.getConnectionStateListenable().addListener((c,s) -> + EVENT_LOGGER.info("[CURATOR: {}] connection state now {}", + c.getState(), s)); + + curator.getCuratorListenable().addListener((c,e) -> + EVENT_LOGGER.info("[CURATOR: {}] event: type={}, name={}, " + + "path={}, rc={}, children={}", + c.getState(), e.getType(), e.getName(), e.getPath(), + e.getResultCode(), e.getChildren())); + + curator.getUnhandledErrorListenable().addListener((m,e) -> + EVENT_LOGGER.warn("[CURATOR: {}] unhandled error \"{}\": {}", + curator.getState(), m, e.getMessage())); + return curator; } private int getTime(String baseProperty, String unitProperty)