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)

Reply via email to