Пример #1
0
    def _get_log_output(self, oozie_workflow):
        log_output = ''

        q = QueryDict(self.request.GET, mutable=True)
        q['format'] = 'python'  # Hack for triggering the good section in single_task_attempt_logs
        self.request.GET = q

        logs, workflow_actions, is_really_done = get_workflow_logs(
            self.request,
            oozie_workflow,
            make_links=False,
            log_start_pattern=self.LOG_START_PATTERN,
            log_end_pattern=self.LOG_END_PATTERN)

        if len(logs) > 0:
            log_output = logs.values()[0]
            if log_output.startswith('Unable to locate'):
                LOG.debug(
                    'Failed to get job attempt logs, possibly due to YARN archiving job to JHS. Will sleep and try again.'
                )
                time.sleep(5.0)
                logs, workflow_actions, is_really_done = get_workflow_logs(
                    self.request,
                    oozie_workflow,
                    make_links=False,
                    log_start_pattern=self.LOG_START_PATTERN,
                    log_end_pattern=self.LOG_END_PATTERN)
                if len(logs) > 0:
                    log_output = logs.values()[0]

        return log_output
Пример #2
0
    def _get_log_output(self, oozie_workflow):
        log_output = ''
        q = self.request.GET.copy()
        q['format'] = 'python'  # Hack for triggering the good section in single_task_attempt_logs
        self.request.GET = q

        attempts = 0
        max_attempts = 10
        logs_found = False
        while not logs_found and attempts < max_attempts:
            logs, workflow_actions, is_really_done = get_workflow_logs(
                self.request,
                oozie_workflow,
                make_links=False,
                log_start_pattern=self.LOG_START_PATTERN,
                log_end_pattern=self.LOG_END_PATTERN)
            if logs:
                log_output = list(logs.values())[0]
                if log_output.startswith('Unable to locate'):
                    LOG.debug(
                        'Failed to get job attempt logs, possibly due to YARN archiving job to JHS. Will sleep and try again.'
                    )
                    time.sleep(2.0)
                else:
                    logs_found = True

            attempts += 1
        return log_output
Пример #3
0
  def _get_log_output(self, oozie_workflow):
    log_output = ''

    q = QueryDict(self.request.GET, mutable=True)
    q['format'] = 'python'  # Hack for triggering the good section in single_task_attempt_logs
    self.request.GET = q

    logs, workflow_actions, is_really_done = get_workflow_logs(self.request, oozie_workflow, make_links=False,
                                                                 log_start_pattern=self.LOG_START_PATTERN,
                                                                 log_end_pattern=self.LOG_END_PATTERN)

    if len(logs) > 0:
      log_output = logs.values()[0]
      if log_output.startswith('Unable to locate'):
        LOG.debug('Failed to get job attempt logs, possibly due to YARN archiving job to JHS. Will sleep and try again.')
        time.sleep(5.0)
        logs, workflow_actions, is_really_done = get_workflow_logs(self.request, oozie_workflow, make_links=False,
                                                                   log_start_pattern=self.LOG_START_PATTERN,
                                                                   log_end_pattern=self.LOG_END_PATTERN)
        if len(logs) > 0:
          log_output = logs.values()[0]

    return log_output
Пример #4
0
 def get_log(self, request, oozie_workflow, make_links=True):
     return get_workflow_logs(request,
                              oozie_workflow,
                              make_links=make_links,
                              log_start_pattern=self.LOG_START_PATTERN,
                              log_end_pattern=self.LOG_END_PATTERN)
Пример #5
0
 def get_log(self, request, oozie_workflow, make_links=True):
   return get_workflow_logs(request, oozie_workflow, make_links=make_links, log_start_pattern=self.LOG_START_PATTERN,
                            log_end_pattern=self.LOG_END_PATTERN)