spark git commit: [SPARK-20042][WEB UI] Fix log page buttons for reverse proxy mode

2017-04-05 Thread srowen
Repository: spark
Updated Branches:
  refs/heads/branch-2.1 00c124884 -> efc72dcc3


[SPARK-20042][WEB UI] Fix log page buttons for reverse proxy mode

with spark.ui.reverseProxy=true, full path URLs like /log will point to
the master web endpoint which is serving the worker UI as reverse proxy.
To access a REST endpoint in the worker in reverse proxy mode , the
leading /proxy/"target"/ part of the base URI must be retained.

Added logic to log-view.js to handle this, similar to executorspage.js

Patch was tested manually

Author: Oliver Köth 

Closes #17370 from okoethibm/master.

(cherry picked from commit 6f09dc70d9808cae004ceda9ad615aa9be50f43d)
Signed-off-by: Sean Owen 


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/efc72dcc
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/efc72dcc
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/efc72dcc

Branch: refs/heads/branch-2.1
Commit: efc72dcc3f964ea9931fb47a454db253556d0f8a
Parents: 00c1248
Author: Oliver Köth 
Authored: Wed Apr 5 08:09:42 2017 +0100
Committer: Sean Owen 
Committed: Wed Apr 5 08:09:52 2017 +0100

--
 .../org/apache/spark/ui/static/log-view.js   | 19 ---
 1 file changed, 16 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/spark/blob/efc72dcc/core/src/main/resources/org/apache/spark/ui/static/log-view.js
--
diff --git a/core/src/main/resources/org/apache/spark/ui/static/log-view.js 
b/core/src/main/resources/org/apache/spark/ui/static/log-view.js
index 1782b4f..b5c43e5 100644
--- a/core/src/main/resources/org/apache/spark/ui/static/log-view.js
+++ b/core/src/main/resources/org/apache/spark/ui/static/log-view.js
@@ -51,13 +51,26 @@ function noNewAlert() {
   window.setTimeout(function () {alert.css("display", "none");}, 4000);
 }
 
+
+function getRESTEndPoint() {
+  // If the worker is served from the master through a proxy (see doc on 
spark.ui.reverseProxy), 
+  // we need to retain the leading ../proxy// part of the URL when 
making REST requests.
+  // Similar logic is contained in executorspage.js function 
createRESTEndPoint.
+  var words = document.baseURI.split('/');
+  var ind = words.indexOf("proxy");
+  if (ind > 0) {
+  return words.slice(0, ind + 2).join('/') + "/log";
+  }
+  return "/log"
+}
+
 function loadMore() {
   var offset = Math.max(startByte - byteLength, 0);
   var moreByteLength = Math.min(byteLength, startByte);
 
   $.ajax({
 type: "GET",
-url: "/log" + baseParams + "&offset=" + offset + "&byteLength=" + 
moreByteLength,
+url: getRESTEndPoint() + baseParams + "&offset=" + offset + "&byteLength=" 
+ moreByteLength,
 success: function (data) {
   var oldHeight = $(".log-content")[0].scrollHeight;
   var newlineIndex = data.indexOf('\n');
@@ -83,14 +96,14 @@ function loadMore() {
 function loadNew() {
   $.ajax({
 type: "GET",
-url: "/log" + baseParams + "&byteLength=0",
+url: getRESTEndPoint() + baseParams + "&byteLength=0",
 success: function (data) {
   var dataInfo = data.substring(0, data.indexOf('\n')).match(/\d+/g);
   var newDataLen = dataInfo[2] - totalLogLength;
   if (newDataLen != 0) {
 $.ajax({
   type: "GET",
-  url: "/log" + baseParams + "&byteLength=" + newDataLen,
+  url: getRESTEndPoint() + baseParams + "&byteLength=" + newDataLen,
   success: function (data) {
 var newlineIndex = data.indexOf('\n');
 var dataInfo = data.substring(0, newlineIndex).match(/\d+/g);


-
To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org
For additional commands, e-mail: commits-h...@spark.apache.org



spark git commit: [SPARK-20042][WEB UI] Fix log page buttons for reverse proxy mode

2017-04-05 Thread srowen
Repository: spark
Updated Branches:
  refs/heads/master dad499f32 -> 6f09dc70d


[SPARK-20042][WEB UI] Fix log page buttons for reverse proxy mode

with spark.ui.reverseProxy=true, full path URLs like /log will point to
the master web endpoint which is serving the worker UI as reverse proxy.
To access a REST endpoint in the worker in reverse proxy mode , the
leading /proxy/"target"/ part of the base URI must be retained.

Added logic to log-view.js to handle this, similar to executorspage.js

Patch was tested manually

Author: Oliver Köth 

Closes #17370 from okoethibm/master.


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/6f09dc70
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/6f09dc70
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/6f09dc70

Branch: refs/heads/master
Commit: 6f09dc70d9808cae004ceda9ad615aa9be50f43d
Parents: dad499f
Author: Oliver Köth 
Authored: Wed Apr 5 08:09:42 2017 +0100
Committer: Sean Owen 
Committed: Wed Apr 5 08:09:42 2017 +0100

--
 .../org/apache/spark/ui/static/log-view.js   | 19 ---
 1 file changed, 16 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/spark/blob/6f09dc70/core/src/main/resources/org/apache/spark/ui/static/log-view.js
--
diff --git a/core/src/main/resources/org/apache/spark/ui/static/log-view.js 
b/core/src/main/resources/org/apache/spark/ui/static/log-view.js
index 1782b4f..b5c43e5 100644
--- a/core/src/main/resources/org/apache/spark/ui/static/log-view.js
+++ b/core/src/main/resources/org/apache/spark/ui/static/log-view.js
@@ -51,13 +51,26 @@ function noNewAlert() {
   window.setTimeout(function () {alert.css("display", "none");}, 4000);
 }
 
+
+function getRESTEndPoint() {
+  // If the worker is served from the master through a proxy (see doc on 
spark.ui.reverseProxy), 
+  // we need to retain the leading ../proxy// part of the URL when 
making REST requests.
+  // Similar logic is contained in executorspage.js function 
createRESTEndPoint.
+  var words = document.baseURI.split('/');
+  var ind = words.indexOf("proxy");
+  if (ind > 0) {
+  return words.slice(0, ind + 2).join('/') + "/log";
+  }
+  return "/log"
+}
+
 function loadMore() {
   var offset = Math.max(startByte - byteLength, 0);
   var moreByteLength = Math.min(byteLength, startByte);
 
   $.ajax({
 type: "GET",
-url: "/log" + baseParams + "&offset=" + offset + "&byteLength=" + 
moreByteLength,
+url: getRESTEndPoint() + baseParams + "&offset=" + offset + "&byteLength=" 
+ moreByteLength,
 success: function (data) {
   var oldHeight = $(".log-content")[0].scrollHeight;
   var newlineIndex = data.indexOf('\n');
@@ -83,14 +96,14 @@ function loadMore() {
 function loadNew() {
   $.ajax({
 type: "GET",
-url: "/log" + baseParams + "&byteLength=0",
+url: getRESTEndPoint() + baseParams + "&byteLength=0",
 success: function (data) {
   var dataInfo = data.substring(0, data.indexOf('\n')).match(/\d+/g);
   var newDataLen = dataInfo[2] - totalLogLength;
   if (newDataLen != 0) {
 $.ajax({
   type: "GET",
-  url: "/log" + baseParams + "&byteLength=" + newDataLen,
+  url: getRESTEndPoint() + baseParams + "&byteLength=" + newDataLen,
   success: function (data) {
 var newlineIndex = data.indexOf('\n');
 var dataInfo = data.substring(0, newlineIndex).match(/\d+/g);


-
To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org
For additional commands, e-mail: commits-h...@spark.apache.org