Merge pull request #2062 from coreos-inc/internal-error-tracking

Standardize the internal error logs for better tracking
This commit is contained in:
josephschorr 2016-10-31 13:58:34 -04:00 committed by GitHub
commit d51b6d2435
2 changed files with 6 additions and 2 deletions

View file

@ -346,7 +346,8 @@ class BuildComponent(BaseComponent):
# Mark the build as completed. # Mark the build as completed.
if worker_error.is_internal_error(): if worker_error.is_internal_error():
logger.exception('Got remote internal exception for build: %s', build_id) logger.exception('[BUILD INTERNAL ERROR: Remote] Build ID: %s: %s', build_id,
worker_error.public_message())
trollius.async(self._build_finished(BuildJobResult.INCOMPLETE)) trollius.async(self._build_finished(BuildJobResult.INCOMPLETE))
else: else:
logger.debug('Got remote failure exception for build %s: %s', build_id, aex) logger.debug('Got remote failure exception for build %s: %s', build_id, aex)
@ -462,6 +463,8 @@ class BuildComponent(BaseComponent):
self._build_status.set_error('Build worker timed out', internal_error=True, self._build_status.set_error('Build worker timed out', internal_error=True,
requeued=self._current_job.has_retries_remaining()) requeued=self._current_job.has_retries_remaining())
build_id = self._current_job.build_uuid
logger.error('[BUILD INTERNAL ERROR: Timeout] Build ID: %s', build_id)
yield From(self.parent_manager.job_completed(self._current_job, yield From(self.parent_manager.job_completed(self._current_job,
BuildJobResult.INCOMPLETE, BuildJobResult.INCOMPLETE,
self)) self))

View file

@ -199,7 +199,8 @@ class EphemeralBuilderManager(BaseManager):
got_lock = yield From(self._take_etcd_atomic_lock('job-expired', build_job.build_uuid, got_lock = yield From(self._take_etcd_atomic_lock('job-expired', build_job.build_uuid,
execution_id)) execution_id))
if got_lock: if got_lock:
logger.warning('Marking job %s as incomplete', build_job.build_uuid) logger.error('[BUILD INTERNAL ERROR: etcd %s] Build ID: %s. Exec name: %s. Exec ID: %s',
etcd_result.action, build_job.build_uuid, executor_name, execution_id)
self.job_complete_callback(build_job, BuildJobResult.INCOMPLETE, executor_name, self.job_complete_callback(build_job, BuildJobResult.INCOMPLETE, executor_name,
update_phase=True) update_phase=True)