Эх сурвалжийг харах

HUE-1396 [pig] Wrong links on the log panel

Romain Rigaux 12 жил өмнө
parent
commit
1c28513

+ 1 - 1
apps/pig/src/pig/api.py

@@ -188,7 +188,7 @@ class OozieApi:
   def _make_links(cls, log):
     escaped_logs = escape(log)
     hdfs_links = re.sub('((?<= |;)/|hdfs://)[^ <&\t;,\n]+', OozieApi._make_hdfs_link, escaped_logs)
-    return re.sub('job_[a-z0-9_]*', OozieApi._make_mr_link, hdfs_links)
+    return re.sub('(job_[0-9_]+(/|\.)?)', OozieApi._make_mr_link, hdfs_links)
 
   @classmethod
   def _make_hdfs_link(self, match):

+ 60 - 44
apps/pig/src/pig/tests.py

@@ -62,50 +62,66 @@ def create_script(user, xattrs=None):
     attrs.update(xattrs)
   return create_or_update_script(**attrs)
 
-  def make_log_links(self):
-    # FileBrowser
-    assert_equal(
-        """<a href="/filebrowser/view/user/romain/tmp" target="_blank">hdfs://localhost:8020/user/romain/tmp</a>  &lt;dir&gt;""",
-        OozieApi._make_links('hdfs://localhost:8020/user/romain/tmp  <dir>')
-    )
-    assert_equal(
-        """<a href="/filebrowser/view/user/romain/tmp" target="_blank">hdfs://localhost:8020/user/romain/tmp</a>&lt;dir&gt;""",
-        OozieApi._make_links('hdfs://localhost:8020/user/romain/tmp<dir>')
-    )
-    assert_equal(
-        """output: <a href="/filebrowser/view/user/romain/tmp" target="_blank">/user/romain/tmp</a>  &lt;dir&gt;""",
-        OozieApi._make_links('output: /user/romain/tmp  <dir>')
-    )
-    assert_equal(
-        'Successfully read 3760 records (112648 bytes) from: &quot;<a href="/filebrowser/view/user/hue/pig/examples/data/midsummer.txt" target="_blank">/user/hue/pig/examples/data/midsummer.txt</a>&quot;',
-        OozieApi._make_links('Successfully read 3760 records (112648 bytes) from: "/user/hue/pig/examples/data/midsummer.txt"')
-    )
-    assert_equal(
-        'data,upper_case  MAP_ONLY  <a href="/filebrowser/view/user/romain/out/fffff" target="_blank">hdfs://localhost:8020/user/romain/out/fffff</a>,',
-        OozieApi._make_links('data,upper_case  MAP_ONLY  hdfs://localhost:8020/user/romain/out/fffff,')
-    )
-    assert_equal(
-        'MAP_ONLY  <a href="/filebrowser/view/user/romain/out/fffff" target="_blank">hdfs://localhost:8020/user/romain/out/fffff</a>\n2013',
-        OozieApi._make_links('MAP_ONLY  hdfs://localhost:8020/user/romain/out/fffff\n2013')
-    )
-
-    # JobBrowser
-    assert_equal(
-        """<a href="/jobbrowser/jobs/job_201306261521_0058" target="_blank">job_201306261521_0058</a>""",
-        OozieApi._make_links('job_201306261521_0058')
-    )
-    assert_equal(
-        """Hadoop Job IDs executed by Pig: <a href="/jobbrowser/jobs/job_201306261521_0058" target="_blank">job_201306261521_0058</a>""",
-        OozieApi._make_links('Hadoop Job IDs executed by Pig: job_201306261521_0058')
-    )
-    assert_equal(
-        """MapReduceLauncher  - HadoopJobId: <a href="/jobbrowser/jobs/job_201306261521_0058" target="_blank">job_201306261521_0058</a>""",
-        OozieApi._make_links('MapReduceLauncher  - HadoopJobId: job_201306261521_0058')
-    )
-    assert_equal(
-        """- More information at: http://localhost:50030/jobdetails.jsp?jobid=<a href="/jobbrowser/jobs/job_201306261521_0058" target="_blank">job_201306261521_0058</a>""",
-        OozieApi._make_links('- More information at: http://localhost:50030/jobdetails.jsp?jobid=job_201306261521_0058')
-    )
+def test_make_log_links():
+  # FileBrowser
+  assert_equal(
+      """<a href="/filebrowser/view/user/romain/tmp" target="_blank">hdfs://localhost:8020/user/romain/tmp</a>  &lt;dir&gt;""",
+      OozieApi._make_links('hdfs://localhost:8020/user/romain/tmp  <dir>')
+  )
+  assert_equal(
+      """<a href="/filebrowser/view/user/romain/tmp" target="_blank">hdfs://localhost:8020/user/romain/tmp</a>&lt;dir&gt;""",
+      OozieApi._make_links('hdfs://localhost:8020/user/romain/tmp<dir>')
+  )
+  assert_equal(
+      """output: <a href="/filebrowser/view/user/romain/tmp" target="_blank">/user/romain/tmp</a>  &lt;dir&gt;""",
+      OozieApi._make_links('output: /user/romain/tmp  <dir>')
+  )
+  assert_equal(
+      'Successfully read 3760 records (112648 bytes) from: &quot;<a href="/filebrowser/view/user/hue/pig/examples/data/midsummer.txt" target="_blank">/user/hue/pig/examples/data/midsummer.txt</a>&quot;',
+      OozieApi._make_links('Successfully read 3760 records (112648 bytes) from: "/user/hue/pig/examples/data/midsummer.txt"')
+  )
+  assert_equal(
+      'data,upper_case  MAP_ONLY  <a href="/filebrowser/view/user/romain/out/fffff" target="_blank">hdfs://localhost:8020/user/romain/out/fffff</a>,',
+      OozieApi._make_links('data,upper_case  MAP_ONLY  hdfs://localhost:8020/user/romain/out/fffff,')
+  )
+  assert_equal(
+      'MAP_ONLY  <a href="/filebrowser/view/user/romain/out/fffff" target="_blank">hdfs://localhost:8020/user/romain/out/fffff</a>\n2013',
+      OozieApi._make_links('MAP_ONLY  hdfs://localhost:8020/user/romain/out/fffff\n2013')
+  )
+  assert_equal(
+      ' <a href="/filebrowser/view/jobs.tsv" target="_blank">/jobs.tsv</a> ',
+      OozieApi._make_links(' /jobs.tsv ')
+  )
+  assert_equal(
+      '<a href="/filebrowser/view/user/romain/job_pos_2012.tsv" target="_blank">hdfs://localhost:8020/user/romain/job_pos_2012.tsv</a>',
+      OozieApi._make_links('hdfs://localhost:8020/user/romain/job_pos_2012.tsv')
+  )
+
+  # JobBrowser
+  assert_equal(
+      """<a href="/jobbrowser/jobs/job_201306261521_0058" target="_blank">job_201306261521_0058</a>""",
+      OozieApi._make_links('job_201306261521_0058')
+  )
+  assert_equal(
+      """Hadoop Job IDs executed by Pig: <a href="/jobbrowser/jobs/job_201306261521_0058" target="_blank">job_201306261521_0058</a>""",
+      OozieApi._make_links('Hadoop Job IDs executed by Pig: job_201306261521_0058')
+  )
+  assert_equal(
+      """MapReduceLauncher  - HadoopJobId: <a href="/jobbrowser/jobs/job_201306261521_0058" target="_blank">job_201306261521_0058</a>""",
+      OozieApi._make_links('MapReduceLauncher  - HadoopJobId: job_201306261521_0058')
+  )
+  assert_equal(
+      """- More information at: http://localhost:50030/jobdetails.jsp?jobid=<a href="/jobbrowser/jobs/job_201306261521_0058" target="_blank">job_201306261521_0058</a>""",
+      OozieApi._make_links('- More information at: http://localhost:50030/jobdetails.jsp?jobid=job_201306261521_0058')
+  )
+  assert_equal(
+      """ Logging error messages to: job_201307091553_0028/attempt_201307091553_002""",
+      OozieApi._make_links(' Logging error messages to: job_201307091553_0028/attempt_201307091553_002')
+  )
+  assert_equal(
+      """ pig-job_201307091553_0028.log""",
+      OozieApi._make_links(' pig-job_201307091553_0028.log')
+  )
 
 
 class TestMock(TestPigBase):