Author: tmckay Date: 2012-10-19 16:40:42 +0000 (Fri, 19 Oct 2012) New Revision: 5515
Modified: trunk/cumin/python/cumin/model.py Log: Only request new groups instead of all groups when missing groups are needed for quota displays
Modified: trunk/cumin/python/cumin/model.py =================================================================== --- trunk/cumin/python/cumin/model.py 2012-10-18 18:02:31 UTC (rev 5514) +++ trunk/cumin/python/cumin/model.py 2012-10-19 16:40:42 UTC (rev 5515) @@ -151,11 +151,12 @@ try: dynamic_store = self.dynamic_group_config_values_by_negotiator[negotiator._qmf_agent_id] dynamic_store.extend_updates() - added = 0 + added = [] for group in needed_groups: - added += dynamic_store.add_group_config(group, config) - if added > 0: - dynamic_store.update_new(None) + if dynamic_store.add_group_config(group, config): + added.append(group) + if len(added) > 0: + dynamic_store.update_new(added) except KeyError: dynamic_store = NegotiatorDynamicGroupConfigValuesStore(self, negotiator, needed_groups, config) for group in needed_groups: @@ -168,11 +169,12 @@ try: static_store = self.static_group_config_values_by_negotiator[negotiator._qmf_agent_id] static_store.extend_updates() - added = 0 + added = [] for group in needed_groups: - added += static_store.add_group_config(group, config) - if added > 0: - static_store.update_new(None) + if static_store.add_group_config(group, config): + added.append(group) + if len(added) > 0: + static_store.update_new(added) except KeyError: static_store = NegotiatorStaticGroupConfigValuesStore(self, negotiator, needed_groups, config) self.static_group_config_values_by_negotiator[negotiator._qmf_agent_id] = static_store @@ -191,7 +193,7 @@ try: if not self.no_more_updates: store = self.dynamic_group_config_values_by_negotiator[negotiator._qmf_agent_id] - store.update(None) + store.update() finally: self.lock.release()
@@ -785,7 +787,7 @@ try: while self.ticks < 20: try: - self.store.update(cursor) + self.store.update() self.store.exception = None except Exception, e: log.debug("Object store update failed", exc_info=True) @@ -802,7 +804,6 @@ self._condition.release() finally: conn.close() - self.store.delete()
class UpdateTimedOut(Exception): @@ -814,7 +815,7 @@
self.negotiator = negotiator
- def update(self, cursor): + def update(self): def completion(status, data): self.status = status try: @@ -838,7 +839,7 @@ self.submission = submission self.machine_name = machine_name
- def update(self, cursor): + def update(self): def completion(status, data): self.status = status try: @@ -875,7 +876,7 @@
self.negotiator = negotiator
- def update(self, cursor): + def update(self): def completion(status, data): self.status = status try: @@ -916,7 +917,7 @@
return added
- def update(self, cursor): + def update(self): for config in self.configs: action = FetchRawConfigSet() raw_configs = action.execute(self.model.app.remote, @@ -930,11 +931,11 @@ # qmfc.status = "OK" self.data[config] = raw_configs
- def update_new(self, cursor): + def update_new(self, added): for config in self.configs: action = FetchRawConfigSet() new_configs = list() - for group in self.configs[config]: + for group in added: if group not in self.data[config] or \ self.data[config][group].error or \ not self.data[config][group].data: