-
- Downloads
[SPARK-19750][UI][BRANCH-2.1] Fix redirect issue from http to https
## What changes were proposed in this pull request? If spark ui port (4040) is not set, it will choose port number 0, this will make https port to also choose 0. And in Spark 2.1 code, it will use this https port (0) to do redirect, so when redirect triggered, it will point to a wrong url: like: ``` /tmp/temp$ wget http://172.27.25.134:55015 --2017-02-23 12:13:54-- http://172.27.25.134:55015/ Connecting to 172.27.25.134:55015... connected. HTTP request sent, awaiting response... 302 Found Location: https://172.27.25.134:0/ [following] --2017-02-23 12:13:54-- https://172.27.25.134:0/ Connecting to 172.27.25.134:0... failed: Can't assign requested address. Retrying. --2017-02-23 12:13:55-- (try: 2) https://172.27.25.134:0/ Connecting to 172.27.25.134:0... failed: Can't assign requested address. Retrying. --2017-02-23 12:13:57-- (try: 3) https://172.27.25.134:0/ Connecting to 172.27.25.134:0... failed: Can't assign requested address. Retrying. --2017-02-23 12:14:00-- (try: 4) https://172.27.25.134:0/ Connecting to 172.27.25.134:0... failed: Can't assign requested address. Retrying. ``` So instead of using 0 to do redirect, we should pick a bound port instead. This issue only exists in Spark 2.1-, and can be reproduced in yarn cluster mode. ## How was this patch tested? Current redirect UT doesn't verify this issue, so extend current UT to do correct verification. Author: jerryshao <sshao@hortonworks.com> Closes #17083 from jerryshao/SPARK-19750.
Showing
- core/src/main/scala/org/apache/spark/TestUtils.scala 19 additions, 4 deletionscore/src/main/scala/org/apache/spark/TestUtils.scala
- core/src/main/scala/org/apache/spark/ui/JettyUtils.scala 6 additions, 4 deletionscore/src/main/scala/org/apache/spark/ui/JettyUtils.scala
- core/src/test/scala/org/apache/spark/ui/UISuite.scala 5 additions, 1 deletioncore/src/test/scala/org/apache/spark/ui/UISuite.scala
Please register or sign in to comment