Lines Matching full:tid
114 def get_cached_unihash(self, tid): argument
117 def get_unihash(self, tid): argument
118 unihash = self.get_cached_unihash(tid)
121 return self.taskhash[tid]
124 return {tid: self.get_unihash(tid) for tid in tids}
126 def prep_taskhash(self, tid, deps, dataCaches): argument
129 def get_taskhash(self, tid, deps, dataCaches): argument
130 self.taskhash[tid] = hashlib.sha256(tid.encode("utf-8")).hexdigest()
131 return self.taskhash[tid]
258 tid = mcfn + ":" + task
259 if not ignore_mismatch and tid in self.basehash and self.basehash[tid] != basehash[tid]:
260 …adata is not deterministic and this needs to be fixed." % (tid, self.basehash[tid], basehash[tid]))
267 self.basehash[tid] = basehash[tid]
333 def prep_taskhash(self, tid, deps, dataCaches): argument
335 (mc, _, task, mcfn) = bb.runqueue.split_tid_mcfn(tid)
337 self.basehash[tid] = dataCaches[mc].basetaskhash[tid]
338 self.runtaskdeps[tid] = []
339 self.file_checksum_values[tid] = []
342 self.tidtopn[tid] = recipename
355 self.runtaskdeps[tid].append((dep_pnid, dep))
363 self.file_checksum_values[tid].append((f,cs))
368 if tid in self.taints and self.taints[tid].startswith("nostamp:"):
374 self.taints[tid] = "nostamp:" + taint
378 self.taints[tid] = taint
379 logger.warning("%s is tainted from a forced run" % tid)
381 return set(dep for _, dep in self.runtaskdeps[tid])
383 def get_taskhash(self, tid, deps, dataCaches): argument
385 data = self.basehash[tid]
386 for dep in sorted(self.runtaskdeps[tid]):
389 for (f, cs) in sorted(self.file_checksum_values[tid], key=clean_checksum_file_path):
395 if tid in self.taints:
396 if self.taints[tid].startswith("nostamp:"):
397 data += self.taints[tid][8:]
399 data += self.taints[tid]
402 self.taskhash[tid] = h
419 tid = mcfn + ":" + task
425 elif runtime and tid in self.taskhash:
426 sigfile = stampbase + "." + task + ".sigdata" + "." + self.get_unihash(tid)
428 sigfile = stampbase + "." + task + ".sigbasedata" + "." + self.basehash[tid]
438 data['basehash'] = self.basehash[tid]
448 if runtime and tid in self.taskhash:
449 data['runtaskdeps'] = [dep[0] for dep in sorted(self.runtaskdeps[tid])]
451 for f,cs in sorted(self.file_checksum_values[tid], key=clean_checksum_file_path):
457 for dep in self.runtaskdeps[tid]:
459 data['taskhash'] = self.taskhash[tid]
460 data['unihash'] = self.get_unihash(tid)
466 if runtime and tid in self.taints:
467 if 'nostamp:' in self.taints[tid]:
468 data['taint'] = self.taints[tid]
471 if computed_basehash != self.basehash[tid]:
472 … bb.error("Basehash mismatch %s versus %s for %s" % (computed_basehash, self.basehash[tid], tid))
473 if runtime and tid in self.taskhash:
475 if computed_taskhash != self.taskhash[tid]:
476 … bb.error("Taskhash mismatch %s versus %s for %s" % (computed_taskhash, self.taskhash[tid], tid))
477 sigfile = sigfile.replace(self.taskhash[tid], computed_taskhash)
496 def get_stampfile_hash(self, tid): argument
497 if tid in self.taskhash:
498 return self.taskhash[tid]
501 return self.basehash[tid]
505 tid = mcfn + ":" + taskname[:-9]
507 tid = mcfn + ":" + taskname
511 h = self.get_stampfile_hash(tid)
609 def get_stampfile_hash(self, tid): argument
610 if tid in self.taskhash:
614 unihash = self._get_unihash(tid)
618 return super().get_stampfile_hash(tid)
620 def set_unihash(self, tid, unihash): argument
621 (mc, fn, taskname, taskfn) = bb.runqueue.split_tid_mcfn(tid)
622 key = mc + ":" + self.tidtopn[tid] + ":" + taskname
623 self.unitaskhashes[key] = (self.taskhash[tid], unihash)
624 self.unihash[tid] = unihash
626 def _get_unihash(self, tid, checkkey=None): argument
627 if tid not in self.tidtopn:
629 (mc, fn, taskname, taskfn) = bb.runqueue.split_tid_mcfn(tid)
630 key = mc + ":" + self.tidtopn[tid] + ":" + taskname
634 checkkey = self.taskhash[tid]
640 def get_cached_unihash(self, tid): argument
641 taskhash = self.taskhash[tid]
644 if self.setscenetasks and tid not in self.setscenetasks:
645 self.unihash[tid] = None
650 unihash = self._get_unihash(tid)
652 self.unihash[tid] = unihash
657 def _get_method(self, tid): argument
659 if tid in self.extramethod:
660 method = method + self.extramethod[tid]
688 def get_unihash(self, tid): argument
689 return self.get_unihashes([tid])[tid]
693 For a iterable of tids, returns a dictionary that maps each tid to a
699 for tid in tids:
700 unihash = self.get_cached_unihash(tid)
702 result[tid] = unihash
704 query_tids.append(tid)
710 …unihashes = client.get_unihash_batch((self._get_method(tid), self.taskhash[tid]) for tid in query_…
714 for idx, tid in enumerate(query_tids):
728 taskhash = self.taskhash[tid]
735 …askhash], 'Found unihash %s in place of %s for %s from %s' % (unihash, taskhash, tid, self.server))
737 … hashequiv_logger.debug2('No reported unihash for %s:%s from %s' % (tid, taskhash, self.server))
740 self.set_unihash(tid, unihash)
741 self.unihash[tid] = unihash
742 result[tid] = unihash
754 tid = mcfn + ':do_' + task
755 key = tid + ':' + taskhash
757 if self.setscenetasks and tid not in self.setscenetasks:
761 if taskhash != self.taskhash[tid]:
765 cache_unihash = self._get_unihash(tid, checkkey=taskhash)
805 if tid in self.extramethod:
806 method = method + self.extramethod[tid]
816 self.set_unihash(tid, new_unihash)
834 def report_unihash_equiv(self, tid, taskhash, wanted_unihash, current_unihash, datacaches): argument
838 if tid in self.extramethod:
839 method = method + self.extramethod[tid]
844 …hashequiv_logger.verbose('Reported task %s as unihash %s to %s (%s)' % (tid, wanted_unihash, self.…
853 … hashequiv_logger.verbose('Task %s unihash %s unchanged by server' % (tid, finalunihash))
855 …hashequiv_logger.verbose('Task %s unihash changed %s -> %s as wanted' % (tid, current_unihash, fin…
856 self.set_unihash(tid, finalunihash)
860 … hashequiv_logger.verbose('Task %s unihash reported as unwanted hash %s' % (tid, finalunihash))