Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
3.0.1
-
Spark 3.0.1 on Kubernetes
Description
When accessing the Web UI behind a proxy (e.g. a Kubernetes ingress), executors page is blank.
In /core/src/main/resources/org/apache/spark/ui/static/utils.js, we should avoid the use of location.origin when constructing URLs for internal API calls within the JavaScript.
Instead, we should use apiRoot global variable.
On one hand, it would allow to build relative URLs. On the other hand, apiRoot reflects the Spark property spark.ui.proxyBase which can be set to change the root path of the Web UI.
If spark.ui.proxyBase is actually set, original URLs become incorrect, and we end up with an executors blank page.
I encounter this bug when accessing the Web UI behind a proxy (in my case a Kubernetes Ingress).
See also https://github.com/jupyterhub/jupyter-server-proxy/issues/57#issuecomment-699163115