def handle_PartitionStatusReq(self, req): ''' Return the entire contents of the UVE DB for the requested partitions ''' if req.partition == -1: parts = self._workers.keys() else: parts = [req.partition] self._logger.info("Got PartitionStatusReq: %s" % str(parts)) np = 1 for pt in parts: resp = PartitionStatusResp() resp.partition = pt if self._workers.has_key(pt): resp.enabled = True resp.offset = self._workers[pt]._partoffset resp.uves = [] for kcoll, coll in self._workers[pt].contents().iteritems(): uci = UVECollInfo() uci.collector = kcoll uci.uves = [] for kgen, gen in coll.iteritems(): ugi = UVEGenInfo() ugi.generator = kgen ugi.uves = [] for tabk, tabc in gen.iteritems(): for uk, uc in tabc.iteritems(): ukc = UVEKeyInfo() ukc.key = tabk + ":" + uk ukc.types = [] for tk, tc in uc.iteritems(): uvtc = UVETypeCount() uvtc.type = tk uvtc.count = tc["c"] uvtc.agg_uuid = str(tc["u"]) ukc.types.append(uvtc) ugi.uves.append(ukc) uci.uves.append(ugi) resp.uves.append(uci) else: resp.enabled = False if np == len(parts): mr = False else: mr = True resp.response(req.context(), mr) np = np + 1
def handle_PartitionStatusReq(self, req): """ Return the entire contents of the UVE DB for the requested partitions """ if req.partition == -1: parts = self._workers.keys() else: parts = [req.partition] self._logger.info("Got PartitionStatusReq: %s" % str(parts)) np = 1 for pt in parts: resp = PartitionStatusResp() resp.partition = pt if self._workers.has_key(pt): resp.enabled = True resp.offset = self._workers[pt]._partoffset resp.uves = [] for kcoll, coll in self._workers[pt].contents().iteritems(): uci = UVECollInfo() uci.collector = kcoll uci.uves = [] for kgen, gen in coll.iteritems(): ugi = UVEGenInfo() ugi.generator = kgen ugi.uves = [] for tabk, tabc in gen.iteritems(): for uk, uc in tabc.iteritems(): ukc = UVEKeyInfo() ukc.key = tabk + ":" + uk ukc.types = [] for tk, tc in uc.iteritems(): uvtc = UVETypeCount() uvtc.type = tk uvtc.count = tc["c"] uvtc.agg_uuid = str(tc["u"]) ukc.types.append(uvtc) ugi.uves.append(ukc) uci.uves.append(ugi) resp.uves.append(uci) else: resp.enabled = False if np == len(parts): mr = False else: mr = True resp.response(req.context(), mr) np = np + 1