Browse Source

[jobbrowser] Pre-select first non empty log tab

Select first tab is all empty
Bump Oozie rerun form inputs to 1024 chars
Romain Rigaux 13 năm trước cách đây
mục cha
commit
380e172309

+ 8 - 8
apps/jobbrowser/src/jobbrowser/templates/attempt_logs.mako

@@ -73,34 +73,34 @@ ${ line | unicode,trim }
                   %>
                   <div class="tabbable">
                     <ul class="nav nav-pills">
-                      <li class="active"><a href="#logsDiagnostic" data-toggle="tab">${_('task diagnostic log')}</a></li>
-                      <li class=""><a href="#logsStdOut" data-toggle="tab">${_('stdout')}</a></li>
-                      <li class=""><a href="#logsStdErr" data-toggle="tab">${_('stderr')}</a></li>
-                      <li class=""><a href="#logsSysLog" data-toggle="tab">${_('syslog')}</a></li>
+                      <li class="${ first_log_tab == 0 and 'active' or '' }"><a href="#logsDiagnostic" data-toggle="tab">${_('task diagnostic log')}</a></li>
+                      <li class="${ first_log_tab == 1 and 'active' or '' }"><a href="#logsStdOut" data-toggle="tab">${_('stdout')}</a></li>
+                      <li class="${ first_log_tab == 2 and 'active' or '' }"><a href="#logsStdErr" data-toggle="tab">${_('stderr')}</a></li>
+                      <li class="${ first_log_tab == 3 and 'active' or '' }"><a href="#logsSysLog" data-toggle="tab">${_('syslog')}</a></li>
                     </ul>
                     <div class="tab-content">
-                      <div class="tab-pane active" id="logsDiagnostic">
+                      <div class="tab-pane ${ first_log_tab == 0 and 'active' or '' }" id="logsDiagnostic">
                           % if not log_diagnostic:
                             <pre>-- empty --</pre>
                           % else:
                             <pre>${format_log(log_diagnostic)}</pre>
                           % endif
                       </div>
-                      <div class="tab-pane" id="logsStdOut">
+                      <div class="tab-pane ${ first_log_tab == 1 and 'active' or '' }" id="logsStdOut">
                           % if not log_stdout:
                             <pre>-- empty --</pre>
                           % else:
                             <pre>${format_log(log_stdout)}</pre>
                           % endif
                       </div>
-                      <div class="tab-pane" id="logsStdErr">
+                      <div class="tab-pane ${ first_log_tab == 2 and 'active' or '' }" id="logsStdErr">
                           % if not log_stderr:
                             <pre>-- empty --</pre>
                           % else:
                             <pre>${format_log(log_stderr)}</pre>
                           % endif
                       </div>
-                      <div class="tab-pane" id="logsSysLog">
+                      <div class="tab-pane ${ first_log_tab == 3 and 'active' or '' }" id="logsSysLog">
                           % if not log_syslog:
                             <pre>-- empty --</pre>
                           % else:

+ 1 - 1
apps/jobbrowser/src/jobbrowser/tests.py

@@ -422,7 +422,7 @@ class TestJobBrowserWithHadoop(unittest.TestCase, OozieServerProvider):
     # Test job single logs page
     response = self.client.get('/jobbrowser/jobs/%s/single_logs' % (hadoop_job_id))
     assert_true('syslog' in response.content)
-
+    assert_true('<div class="tab-pane active" id="logsSysLog">' in response.content, response.content)
 
 
 class TestMapReduce2:

+ 4 - 1
apps/jobbrowser/src/jobbrowser/views.py

@@ -288,17 +288,20 @@ def single_task_attempt_logs(request, job, taskid, attemptid):
     logs = [ diagnostic_log ]
     # Add remaining logs
     logs += [ section.strip() for section in attempt.get_task_log() ]
+    first_log_tab = next((i for i, log in enumerate(logs) if log), 0)
   except TaskTrackerNotFoundException:
     # Four entries,
     # for diagnostic, stdout, stderr and syslog
     logs = [ _("Failed to retrieve log. TaskTracker not found.") ] * 4
+    first_log_tab = 0
 
   return render("attempt_logs.mako", request, {
       "attempt": attempt,
       "taskid": taskid,
       "joblnk": job_link,
       "task": task,
-      "logs": logs
+      "logs": logs,
+      "first_log_tab": first_log_tab,
     })
 
 @check_job_permission

+ 1 - 1
apps/oozie/src/oozie/forms.py

@@ -35,7 +35,7 @@ LOG = logging.getLogger(__name__)
 
 class ParameterForm(forms.Form):
   name = forms.CharField(max_length=40, widget=forms.widgets.HiddenInput())
-  value = forms.CharField(max_length=100, required=False)
+  value = forms.CharField(max_length=1024, required=False)
 
   NON_PARAMETERS = (
       'user.name',