[ 
https://issues.apache.org/jira/browse/SPARK-11338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christian Kadner updated SPARK-11338:
-------------------------------------
    Description: 
Links on {{HistoryPage}} are not prepended with {{uiRoot}} ({{export 
APPLICATION_WEB_PROXY_BASE=<uiRoot path>}}). This makes it 
impossible/unpractical to expose the *History Server* in a multi-tenancy 
environment where each Spark service instance has one history server behind a 
multi-tenant enabled proxy server.  All other Spark web UI pages are correctly 
prefixed when the {{APPLICATION_WEB_PROXY_BASE}} environment variable is set.

*Repro steps:*\\
# Configure history log collection:
{code:title=conf/spark-defaults.conf|borderStyle=solid}
spark.eventLog.enabled         true
spark.eventLog.dir             logs/history
spark.history.fs.logDirectory  logs/history
{code}
...create the logs folders:
{code}
$ mkdir -p logs/history
{code}
# Start the Spark shell and run the word count example:
{code:java|borderStyle=solid}
$ bin/spark-shell
...
scala> sc.textFile("README.md").flatMap(_.split(" ")).map(w => (w, 
1)).reduceByKey(_ + _).collect
scala> sc.stop
{code}
# Set the web proxy root path path (i.e. {{/testwebuiproxy/..}}):
{code}
$ export APPLICATION_WEB_PROXY_BASE=/testwebuiproxy/..
{code}
# Start the history server:
{code}
$  sbin/start-history-server.sh
{code}
# Bring up the History Server web UI at {{localhost:18080}} and view the 
application link in the HTML source text:
{code:xml|borderColor=#c00}
    ...
    <thead><th width="" class="">App ID</th><th width="" class="">App 
Name</th>...</thead>
      <tbody>
        <tr>
          <td><a 
href="/history/local-1445896187531">local-1445896187531</a></td><td>Spark 
shell</td>
      ...
{code}
*Notice*, application link "{{/history/local-1445896187531}}" does _not_ have 
the prefix {{/testwebuiproxy/..}} \\ \\
All site-relative links (URL starting with {{"/"}}) should have been prepended 
with the uiRoot prefix {{/testwebuiproxy/..}} like this ...
{code:xml|borderColor=#0c0}
    ...
    <thead><th width="" class="">App ID</th><th width="" class="">App 
Name</th>...</thead>
      <tbody>
        <tr>
          <td><a 
href="/testwebuiproxy/../history/local-1445896187531">local-1445896187531</a></td><td>Spark
 shell</td>
      ...
{code}

  was:
Links on {{HistoryPage}} are not prepended with {{uiRoot}} ({{export 
APPLICATION_WEB_PROXY_BASE=<uiRoot path>}}). This makes it 
impossible/unpractical to expose the *History Server* in a multi-tenancy 
environment where each Spark service instance has one history server behind a 
multi-tenant enabled proxy server.  All other Spark web UI pages are correctly 
prefixed when the {{APPLICATION_WEB_PROXY_BASE}} variable is set.

*Repro steps:*\\
# Configure history log collection:
{code:title=conf/spark-defaults.conf|borderStyle=solid}
spark.eventLog.enabled         true
spark.eventLog.dir             logs/history
spark.history.fs.logDirectory  logs/history
{code}
...create the logs folders:
{code}
$ mkdir -p logs/history
{code}
# Start the Spark shell and run the word count example:
{code:java|borderStyle=solid}
$ bin/spark-shell
...
scala> sc.textFile("README.md").flatMap(_.split(" ")).map(w => (w, 
1)).reduceByKey(_ + _).collect
scala> sc.stop
{code}
# Set the web proxy root path path (i.e. {{/testwebuiproxy/..}}):
{code}
$ export APPLICATION_WEB_PROXY_BASE=/testwebuiproxy/..
{code}
# Start the history server:
{code}
$  sbin/start-history-server.sh
{code}
# Bring up the History Server web UI at {{localhost:18080}} and view the 
application link in the HTML source text:
{code:xml|borderColor=#c00}
    ...
    <thead><th width="" class="">App ID</th><th width="" class="">App 
Name</th>...</thead>
      <tbody>
        <tr>
          <td><a 
href="/history/local-1445896187531">local-1445896187531</a></td><td>Spark 
shell</td>
      ...
{code}
*Notice*, application link "{{/history/local-1445896187531}}" does _not_ have 
the prefix {{/testwebuiproxy/..}} \\ \\
All site-relative links (URL starting with {{"/"}}) should have been prepended 
with the uiRoot prefix {{/testwebuiproxy/..}} like this ...
{code:xml|borderColor=#0c0}
    ...
    <thead><th width="" class="">App ID</th><th width="" class="">App 
Name</th>...</thead>
      <tbody>
        <tr>
          <td><a 
href="/testwebuiproxy/../history/local-1445896187531">local-1445896187531</a></td><td>Spark
 shell</td>
      ...
{code}


> HistoryPage not multi-tenancy enabled (app links not prefixed with 
> APPLICATION_WEB_PROXY_BASE)
> ----------------------------------------------------------------------------------------------
>
>                 Key: SPARK-11338
>                 URL: https://issues.apache.org/jira/browse/SPARK-11338
>             Project: Spark
>          Issue Type: Bug
>          Components: Web UI
>            Reporter: Christian Kadner
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> Links on {{HistoryPage}} are not prepended with {{uiRoot}} ({{export 
> APPLICATION_WEB_PROXY_BASE=<uiRoot path>}}). This makes it 
> impossible/unpractical to expose the *History Server* in a multi-tenancy 
> environment where each Spark service instance has one history server behind a 
> multi-tenant enabled proxy server.  All other Spark web UI pages are 
> correctly prefixed when the {{APPLICATION_WEB_PROXY_BASE}} environment 
> variable is set.
> *Repro steps:*\\
> # Configure history log collection:
> {code:title=conf/spark-defaults.conf|borderStyle=solid}
> spark.eventLog.enabled         true
> spark.eventLog.dir             logs/history
> spark.history.fs.logDirectory  logs/history
> {code}
> ...create the logs folders:
> {code}
> $ mkdir -p logs/history
> {code}
> # Start the Spark shell and run the word count example:
> {code:java|borderStyle=solid}
> $ bin/spark-shell
> ...
> scala> sc.textFile("README.md").flatMap(_.split(" ")).map(w => (w, 
> 1)).reduceByKey(_ + _).collect
> scala> sc.stop
> {code}
> # Set the web proxy root path path (i.e. {{/testwebuiproxy/..}}):
> {code}
> $ export APPLICATION_WEB_PROXY_BASE=/testwebuiproxy/..
> {code}
> # Start the history server:
> {code}
> $  sbin/start-history-server.sh
> {code}
> # Bring up the History Server web UI at {{localhost:18080}} and view the 
> application link in the HTML source text:
> {code:xml|borderColor=#c00}
>     ...
>     <thead><th width="" class="">App ID</th><th width="" class="">App 
> Name</th>...</thead>
>       <tbody>
>         <tr>
>           <td><a 
> href="/history/local-1445896187531">local-1445896187531</a></td><td>Spark 
> shell</td>
>       ...
> {code}
> *Notice*, application link "{{/history/local-1445896187531}}" does _not_ have 
> the prefix {{/testwebuiproxy/..}} \\ \\
> All site-relative links (URL starting with {{"/"}}) should have been 
> prepended with the uiRoot prefix {{/testwebuiproxy/..}} like this ...
> {code:xml|borderColor=#0c0}
>     ...
>     <thead><th width="" class="">App ID</th><th width="" class="">App 
> Name</th>...</thead>
>       <tbody>
>         <tr>
>           <td><a 
> href="/testwebuiproxy/../history/local-1445896187531">local-1445896187531</a></td><td>Spark
>  shell</td>
>       ...
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to