зеркало из https://github.com/mozilla/treeherder.git
bug 1077136 - implement mauro's review suggestions
This commit is contained in:
Родитель
c53d262bd5
Коммит
5fa23c2aa0
|
@ -148,21 +148,15 @@ def fetch_missing_resultsets(source, missing_resultsets, logger):
|
||||||
for k, v in missing_resultsets.iteritems():
|
for k, v in missing_resultsets.iteritems():
|
||||||
missing_resultsets[k] = list(v)
|
missing_resultsets[k] = list(v)
|
||||||
|
|
||||||
logger.error(
|
logger.warn(
|
||||||
"Found {0} jobs with missing resultsets. Scheduling re-fetch: {1}".format(
|
"Found {0} jobs with missing resultsets. Scheduling re-fetch: {1}".format(
|
||||||
source,
|
source,
|
||||||
missing_resultsets
|
missing_resultsets
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
from treeherder.etl.tasks.cleanup_tasks import fetch_missing_push_logs
|
from treeherder.etl.tasks.cleanup_tasks import fetch_missing_push_logs
|
||||||
|
fetch_missing_push_logs.apply_async(args=[missing_resultsets])
|
||||||
|
|
||||||
try:
|
|
||||||
fetch_missing_push_logs.apply_async(args=[missing_resultsets])
|
|
||||||
except Exception as ex:
|
|
||||||
logger.exception("error fetching missing resultsets: {0}, {1}".format(
|
|
||||||
missing_resultsets,
|
|
||||||
ex
|
|
||||||
))
|
|
||||||
|
|
||||||
def get_resultset(project, revisions_lookup, revision, missing_resultsets, logger):
|
def get_resultset(project, revisions_lookup, revision, missing_resultsets, logger):
|
||||||
"""
|
"""
|
||||||
|
@ -176,20 +170,23 @@ def get_resultset(project, revisions_lookup, revision, missing_resultsets, logge
|
||||||
lookup.. This signals that the job should be skipped
|
lookup.. This signals that the job should be skipped
|
||||||
"""
|
"""
|
||||||
|
|
||||||
branch = revisions_lookup[project]
|
resultset_lookup = revisions_lookup[project]
|
||||||
# we can ingest resultsets that are not active for various
|
|
||||||
# reasons. One would be that the data from pending/running/
|
|
||||||
# builds4hr may have a bad revision (from the wrong repo).
|
|
||||||
# in this case, we ingest the resultset as inactive so we
|
|
||||||
# don't keep re-trying to find it when we hit jobs like this.
|
|
||||||
# Or, the resultset could be inactive for other reasons.
|
|
||||||
# Either way, we don't want to ingest jobs for it.
|
|
||||||
if branch.get("active_status", "active") != "active":
|
|
||||||
logger.warn(("Skipping job for non-active "
|
|
||||||
"resultset/revision: {0}").format(
|
|
||||||
revision))
|
|
||||||
try:
|
try:
|
||||||
resultset = branch[revision]
|
resultset = resultset_lookup[revision]
|
||||||
|
|
||||||
|
# we can ingest resultsets that are not active for various
|
||||||
|
# reasons. One would be that the data from pending/running/
|
||||||
|
# builds4hr may have a bad revision (from the wrong repo).
|
||||||
|
# in this case, we ingest the resultset as inactive so we
|
||||||
|
# don't keep re-trying to find it when we hit jobs like this.
|
||||||
|
# Or, the resultset could be inactive for other reasons.
|
||||||
|
# Either way, we don't want to ingest jobs for it.
|
||||||
|
if resultset.get("active_status", "active") != "active":
|
||||||
|
logger.info(("Skipping job for non-active "
|
||||||
|
"resultset/revision: {0}").format(
|
||||||
|
revision))
|
||||||
|
|
||||||
|
|
||||||
except KeyError as ex:
|
except KeyError as ex:
|
||||||
# we don't have the resultset for this build/job yet
|
# we don't have the resultset for this build/job yet
|
||||||
# we need to queue fetching that resultset
|
# we need to queue fetching that resultset
|
||||||
|
|
|
@ -123,7 +123,7 @@ class MissingHgPushlogProcess(HgPushlogTransformerMixin,
|
||||||
# The effect of this is that we won't keep trying to re-fetch
|
# The effect of this is that we won't keep trying to re-fetch
|
||||||
# the bogus pushlog, but the jobs are (correctly) not shown in the
|
# the bogus pushlog, but the jobs are (correctly) not shown in the
|
||||||
# UI, since they're bad data.
|
# UI, since they're bad data.
|
||||||
logger.error(("no pushlog in json-pushes. generating a dummy"
|
logger.warn(("no pushlog in json-pushes. generating a dummy"
|
||||||
" onhold placeholder: {0}").format(url))
|
" onhold placeholder: {0}").format(url))
|
||||||
|
|
||||||
# we want to make a "fake" resultset, because json-pushes doesn't
|
# we want to make a "fake" resultset, because json-pushes doesn't
|
||||||
|
@ -177,6 +177,7 @@ class MissingHgPushlogProcess(HgPushlogTransformerMixin,
|
||||||
logger.exception("error loading missing resultsets: {0}".format(
|
logger.exception("error loading missing resultsets: {0}".format(
|
||||||
source_url
|
source_url
|
||||||
))
|
))
|
||||||
|
raise
|
||||||
|
|
||||||
class GitPushlogTransformerMixin(object):
|
class GitPushlogTransformerMixin(object):
|
||||||
def transform(self, source_url):
|
def transform(self, source_url):
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from .buildapi_tasks import *
|
from .buildapi_tasks import *
|
||||||
from .cleanup_tasks import *
|
from .cleanup_tasks import *
|
||||||
from .tbpl_tasks import *
|
from .tbpl_tasks import *
|
||||||
from .tasks import *
|
from .tasks import *
|
||||||
|
|
Загрузка…
Ссылка в новой задаче