@@ -19,7 +19,7 @@ package org.apache.spark.ui
1919
2020import java .util .EnumSet
2121import javax .servlet .DispatcherType
22- import javax .servlet .http .{HttpServlet , HttpServletRequest }
22+ import javax .servlet .http .{HttpServlet , HttpServletRequest , HttpServletResponse }
2323
2424import scala .collection .mutable .ArrayBuffer
2525import scala .collection .mutable .HashMap
@@ -51,6 +51,14 @@ private[spark] abstract class WebUI(
5151 extends Logging {
5252
5353 protected val tabs = ArrayBuffer [WebUITab ]()
54+ protected val initHandler : ServletContextHandler = {
55+ val servlet = new HttpServlet () {
56+ override def doGet (req : HttpServletRequest , res : HttpServletResponse ): Unit = {
57+ res.getWriter.write(" Spark application is starting, please wait for start up." )
58+ }
59+ }
60+ createServletHandler(" /" , servlet, basePath)
61+ }
5462 protected val handlers = ArrayBuffer [ServletContextHandler ]()
5563 protected val pageToHandlers = new HashMap [WebUIPage , ArrayBuffer [ServletContextHandler ]]
5664 protected var serverInfo : Option [ServerInfo ] = None
@@ -141,6 +149,7 @@ private[spark] abstract class WebUI(
141149 */
142150 def attachAllHandler (): Unit = {
143151 serverInfo.foreach { server =>
152+ server.removeHandler(initHandler)
144153 handlers.foreach(server.addHandler(_, securityManager))
145154 }
146155 }
@@ -154,6 +163,7 @@ private[spark] abstract class WebUI(
154163 try {
155164 val host = Option (conf.getenv(" SPARK_LOCAL_IP" )).getOrElse(" 0.0.0.0" )
156165 val server = startJettyServer(host, port, sslOptions, conf, name, poolSize)
166+ server.addHandler(initHandler, securityManager)
157167 serverInfo = Some (server)
158168 logInfo(s " Bound $className to $host, and started at $webUrl" )
159169 } catch {
0 commit comments