[
https://issues.apache.org/jira/browse/KNOX-3171?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Adam Binford updated KNOX-3171:
-------------------------------
Description:
Spark UI is not fully functional in 4.0.0 when viewed through the YARN UI proxy
due to the rewrite rules for proxying adding a trailing slash. Somehow this
seems to not have caused a problem until now, but there is a new inline script
that does not function correctly
Original code:
```
<div class="col-12">
<div id="active-executors"></div>
<script type="module"
src="/proxy/application_1753390029632_0001/static/utils.js"></script>
<script type="module"
src="/proxy/application_1753390029632_0001/static/executorspage.js"></script>
<script type="module">
import {setThreadDumpEnabled, setHeapHistogramEnabled}
from "/proxy/application_1753390029632_0001/static/executorspage.js";
setThreadDumpEnabled(true);
setHeapHistogramEnabled(true)
</script>
</div>
```
Knox rewrite:
```
<div class="col-12">
<div id="active-executors"></div>
<script type="module"
src="https://localhost:8443/gateway/sandbox/yarn/proxy/application_1753390029632_0001/static/utils.js/"></script>
<script type="module"
src="https://localhost:8443/gateway/sandbox/yarn/proxy/application_1753390029632_0001/static/executorspage.js/"></script>
<script type="module">
import {setThreadDumpEnabled, setHeapHistogramEnabled} from
"https://localhost:8443/gateway/sandbox/yarn/proxy/application_1753390029632_0001/static/executorspage.js";
setThreadDumpEnabled(true);
setHeapHistogramEnabled(true);
/</script>
</div>
```
This leads to two errors in the browser console:
```
GET
https://localhost:8443/gateway/sandbox/yarn/proxy/application_1753390683205_0007/static/executorspage.js/utils.js
net::ERR_ABORTED 404 (Not Found)Understand this error
executors/:62 Uncaught SyntaxError: Unexpected end of input (at executors/:62:2)
```
The first is because `executorspage.js` has a import from `./utils.js`, so some
part of that import gets messed up with the trailing slash. The second is
because of the `/` right before the `</script>` tag that the rewrite rule seems
to erroneously add. Either way the trailing slashes don't really make sense and
shouldn't be needed.
was:
Spark UI is not fully functional when viewed through the YARN UI proxy due to
the rewrite rules for proxying adding a trailing slash. Somehow this seems to
not have caused a problem until now, but there is a new inline script that does
not function correctly
Original code:
```
<div class="col-12">
<div id="active-executors"></div>
<script type="module"
src="/proxy/application_1753390029632_0001/static/utils.js"></script>
<script type="module"
src="/proxy/application_1753390029632_0001/static/executorspage.js"></script>
<script type="module">
import {setThreadDumpEnabled, setHeapHistogramEnabled}
from "/proxy/application_1753390029632_0001/static/executorspage.js";
setThreadDumpEnabled(true);
setHeapHistogramEnabled(true)
</script>
</div>
```
Knox rewrite:
```
<div class="col-12">
<div id="active-executors"></div>
<script type="module"
src="https://localhost:8443/gateway/sandbox/yarn/proxy/application_1753390029632_0001/static/utils.js/"></script>
<script type="module"
src="https://localhost:8443/gateway/sandbox/yarn/proxy/application_1753390029632_0001/static/executorspage.js/"></script>
<script type="module">
import {setThreadDumpEnabled, setHeapHistogramEnabled} from
"https://localhost:8443/gateway/sandbox/yarn/proxy/application_1753390029632_0001/static/executorspage.js";
setThreadDumpEnabled(true);
setHeapHistogramEnabled(true);
/</script>
</div>
```
This leads to two errors in the browser console:
```
GET
https://localhost:8443/gateway/sandbox/yarn/proxy/application_1753390683205_0007/static/executorspage.js/utils.js
net::ERR_ABORTED 404 (Not Found)Understand this error
executors/:62 Uncaught SyntaxError: Unexpected end of input (at executors/:62:2)
```
The first is because `executorspage.js` has a import from `./utils.js`, so some
part of that import gets messed up with the trailing slash. The second is
because of the `/` right before the `</script>` tag that the rewrite rule seems
to erroneously add. Either way the trailing slashes don't really make sense and
shouldn't be needed.
> YARN proxy rewrite causes issues for Spark 4.0.0 UI
> ---------------------------------------------------
>
> Key: KNOX-3171
> URL: https://issues.apache.org/jira/browse/KNOX-3171
> Project: Apache Knox
> Issue Type: Bug
> Reporter: Adam Binford
> Priority: Major
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Spark UI is not fully functional in 4.0.0 when viewed through the YARN UI
> proxy due to the rewrite rules for proxying adding a trailing slash. Somehow
> this seems to not have caused a problem until now, but there is a new inline
> script that does not function correctly
> Original code:
> ```
> <div class="col-12">
> <div id="active-executors"></div>
> <script type="module"
> src="/proxy/application_1753390029632_0001/static/utils.js"></script>
> <script type="module"
> src="/proxy/application_1753390029632_0001/static/executorspage.js"></script>
> <script type="module">
> import {setThreadDumpEnabled,
> setHeapHistogramEnabled} from
> "/proxy/application_1753390029632_0001/static/executorspage.js";
> setThreadDumpEnabled(true);
> setHeapHistogramEnabled(true)
> </script>
> </div>
> ```
> Knox rewrite:
> ```
> <div class="col-12">
> <div id="active-executors"></div>
> <script type="module"
> src="https://localhost:8443/gateway/sandbox/yarn/proxy/application_1753390029632_0001/static/utils.js/"></script>
> <script type="module"
> src="https://localhost:8443/gateway/sandbox/yarn/proxy/application_1753390029632_0001/static/executorspage.js/"></script>
> <script type="module">
> import {setThreadDumpEnabled, setHeapHistogramEnabled} from
> "https://localhost:8443/gateway/sandbox/yarn/proxy/application_1753390029632_0001/static/executorspage.js";
> setThreadDumpEnabled(true);
> setHeapHistogramEnabled(true);
> /</script>
> </div>
> ```
> This leads to two errors in the browser console:
> ```
> GET
> https://localhost:8443/gateway/sandbox/yarn/proxy/application_1753390683205_0007/static/executorspage.js/utils.js
> net::ERR_ABORTED 404 (Not Found)Understand this error
> executors/:62 Uncaught SyntaxError: Unexpected end of input (at
> executors/:62:2)
> ```
> The first is because `executorspage.js` has a import from `./utils.js`, so
> some part of that import gets messed up with the trailing slash. The second
> is because of the `/` right before the `</script>` tag that the rewrite rule
> seems to erroneously add. Either way the trailing slashes don't really make
> sense and shouldn't be needed.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)