Only setup zNode caches in launcher

We currently only need to setup the zNode caches in the
launcher. Within the commandline client and the builders this is just
unneccessary work.

Change-Id: I03aa2a11b75cab3932e4b45c5e964811a7e0b3d4
This commit is contained in:
Tobias Henkel 2018-11-22 07:05:58 +01:00
parent 6eb80deb36
commit 9d77f05d8e
No known key found for this signature in database
GPG Key ID: 03750DEC158E5FA2
5 changed files with 15 additions and 13 deletions

View File

@ -1216,7 +1216,7 @@ class NodePoolBuilder(object):
builder_id = self._getBuilderID(builder_id_file)
# All worker threads share a single ZooKeeper instance/connection.
self.zk = zk.ZooKeeper()
self.zk = zk.ZooKeeper(enable_cache=False)
self.zk.connect(list(self._config.zookeeper_servers.values()))
self.log.debug('Starting listener for build jobs')

View File

@ -373,7 +373,7 @@ class NodePoolCmd(NodepoolApp):
'image-delete', 'alien-image-list',
'list', 'delete',
'request-list', 'info', 'erase'):
self.zk = zk.ZooKeeper()
self.zk = zk.ZooKeeper(enable_cache=False)
self.zk.connect(list(config.zookeeper_servers.values()))
self.pool.setConfig(config)

View File

@ -539,7 +539,7 @@ class DBTestCase(BaseTestCase):
self.zookeeper_host,
self.zookeeper_port))
self.zookeeper_chroot = kz_fxtr.zookeeper_chroot
self.zk = zk.ZooKeeper()
self.zk = zk.ZooKeeper(enable_cache=False)
host = zk.ZooKeeperConnectionConfig(
self.zookeeper_host, self.zookeeper_port, self.zookeeper_chroot
)

View File

@ -693,7 +693,7 @@ class ZooKeeper(object):
# Log zookeeper retry every 10 seconds
retry_log_rate = 10
def __init__(self):
def __init__(self, enable_cache=True):
'''
Initialize the ZooKeeper object.
'''
@ -704,6 +704,7 @@ class ZooKeeper(object):
self._request_cache = None
self._cached_nodes = {}
self._cached_node_requests = {}
self.enable_cache = enable_cache
# =======================================================================
# Private Methods
@ -894,15 +895,16 @@ class ZooKeeper(object):
except KazooTimeoutError:
self.logConnectionRetryEvent()
self._node_cache = TreeCache(self.client, self.NODE_ROOT)
self._node_cache.listen_fault(self.cacheFaultListener)
self._node_cache.listen(self.nodeCacheListener)
self._node_cache.start()
if self.enable_cache:
self._node_cache = TreeCache(self.client, self.NODE_ROOT)
self._node_cache.listen_fault(self.cacheFaultListener)
self._node_cache.listen(self.nodeCacheListener)
self._node_cache.start()
self._request_cache = TreeCache(self.client, self.REQUEST_ROOT)
self._request_cache.listen_fault(self.cacheFaultListener)
self._request_cache.listen(self.requestCacheListener)
self._request_cache.start()
self._request_cache = TreeCache(self.client, self.REQUEST_ROOT)
self._request_cache.listen_fault(self.cacheFaultListener)
self._request_cache.listen(self.requestCacheListener)
self._request_cache.start()
def disconnect(self):
'''

View File

@ -30,7 +30,7 @@ args = parser.parse_args()
config = nodepool.config.loadConfig(args.config)
zk = nodepool.zk.ZooKeeper()
zk = nodepool.zk.ZooKeeper(enable_cache=False)
zk.connect(config.zookeeper_servers.values())
def join(a, b):