diff --git a/confluent_server/confluent/collective/manager.py b/confluent_server/confluent/collective/manager.py index e8092529..09961698 100644 --- a/confluent_server/confluent/collective/manager.py +++ b/confluent_server/confluent/collective/manager.py @@ -82,7 +82,7 @@ def connect_to_leader(cert=None, name=None, leader=None): log.log({ 'info': 'Collective initialization in progress on ' '{0}, will retry connection'.format(leader), - 'subsystem': 'collective'}) ####### bad idea? + 'subsystem': 'collective'}) eventlet.spawn_after(random.random(), connect_to_leader, cert, name, leader) return True diff --git a/confluent_server/confluent/config/configmanager.py b/confluent_server/confluent/config/configmanager.py index 477c9104..0ca84ab4 100644 --- a/confluent_server/confluent/config/configmanager.py +++ b/confluent_server/confluent/config/configmanager.py @@ -968,7 +968,7 @@ class ConfigManager(object): _cfgstore['main'] = {} self._bg_sync_to_file() self._cfgstore = _cfgstore['main'] - if 'nodegroups' not in self._cfgstore: + if 'nodegroups' not in self._cfgstore: # This can happen during a clear... it seams... and if so it messes up... self._cfgstore['nodegroups'] = {'everything': {'nodes': set()}} _mark_dirtykey('nodegroups', 'everything', self.tenant) self._bg_sync_to_file() @@ -2080,8 +2080,9 @@ class ConfigManager(object): _mkpath(cls._cfgdir) with open(os.path.join(cls._cfgdir, 'transactioncount'), 'w') as f: f.write(struct.pack('!Q', _txcount)) - if fullsync or 'dirtyglobals' in _cfgstore: - if fullsync: + if (fullsync or 'dirtyglobals' in _cfgstore and + 'globals' in _cfgstore): + if fullsync: # globals is not a given to be set.. dirtyglobals = _cfgstore['globals'] else: with _dirtylock: