Adam Binford created KNOX-3171:
----------------------------------
Summary: 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
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.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)