GitHub user YanTangZhai opened a pull request:

    https://github.com/apache/spark/pull/1854

    [Spark 2643] Stages web ui has ERROR when pool name is None

    14/07/23 16:01:44 WARN servlet.ServletHandler: /stages/
    java.util.NoSuchElementException: None.get
    at scala.None$.get(Option.scala:313)
    at scala.None$.get(Option.scala:311)
    at org.apache.spark.ui.jobs.StageTableBase.stageRow(StageTable.scala:132)
    at 
org.apache.spark.ui.jobs.StageTableBase.org$apache$spark$ui$jobs$StageTableBase$$renderStageRow(StageTable.scala:150)
    at 
org.apache.spark.ui.jobs.StageTableBase$$anonfun$toNodeSeq$1.apply(StageTable.scala:52)
    at 
org.apache.spark.ui.jobs.StageTableBase$$anonfun$toNodeSeq$1.apply(StageTable.scala:52)
    at 
org.apache.spark.ui.jobs.StageTableBase$$anonfun$stageTable$1.apply(StageTable.scala:61)
    at 
org.apache.spark.ui.jobs.StageTableBase$$anonfun$stageTable$1.apply(StageTable.scala:61)
    at scala.collection.immutable.Stream$$anonfun$map$1.apply(Stream.scala:376)
    at scala.collection.immutable.Stream$$anonfun$map$1.apply(Stream.scala:376)
    at scala.collection.immutable.Stream$Cons.tail(Stream.scala:1085)
    at scala.collection.immutable.Stream$Cons.tail(Stream.scala:1077)
    at 
scala.collection.immutable.StreamIterator$$anonfun$next$1.apply(Stream.scala:980)
    at 
scala.collection.immutable.StreamIterator$$anonfun$next$1.apply(Stream.scala:980)
    at 
scala.collection.immutable.StreamIterator$LazyCell.v$lzycompute(Stream.scala:969)
    at scala.collection.immutable.StreamIterator$LazyCell.v(Stream.scala:969)
    at scala.collection.immutable.StreamIterator.hasNext(Stream.scala:974)
    at scala.collection.Iterator$class.foreach(Iterator.scala:727)
    at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
    at scala.xml.NodeBuffer.$amp$plus(NodeBuffer.scala:38)
    at scala.xml.NodeBuffer.$amp$plus(NodeBuffer.scala:40)
    at org.apache.spark.ui.jobs.StageTableBase.stageTable(StageTable.scala:60)
    at org.apache.spark.ui.jobs.StageTableBase.toNodeSeq(StageTable.scala:52)
    at org.apache.spark.ui.jobs.JobProgressPage.render(JobProgressPage.scala:91)
    at org.apache.spark.ui.WebUI$$anonfun$attachPage$1.apply(WebUI.scala:65)
    at org.apache.spark.ui.WebUI$$anonfun$attachPage$1.apply(WebUI.scala:65)
    at org.apache.spark.ui.JettyUtils$$anon$1.doGet(JettyUtils.scala:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
    at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
    at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
    at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
    at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
    at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
    at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    at org.eclipse.jetty.server.Server.handle(Server.java:370)
    at 
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
    at 
org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)
    at 
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
    at 
org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
    at 
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667)
    at 
org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
    at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
    at 
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
    at java.lang.Thread.run(Thread.java:744)
    14/07/23 16:01:44 WARN server.AbstractHttpConnection: /stages/
    java.lang.NoSuchMethodError: 
javax.servlet.http.HttpServletRequest.isAsyncStarted()Z
    at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
    at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
    at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
    at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
    at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
    at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    at org.eclipse.jetty.server.Server.handle(Server.java:370)
    at 
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
    at 
org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)
    at 
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
    at 
org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
    at 
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667)
    at 
org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
    at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
    at 
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
    at java.lang.Thread.run(Thread.java:744)
    This is because:
    (1) One stage for example the stage 10 has been completed and then it's 
resubmitted. 
    (2) Then JobProgressListener.trimIfNecessary is triggered by another 
SparkListenerStageCompleted event. The StageUIData of the stage 10 will be 
removed from memory although the stage 10 is active at present.
    (3) JobProgressPage will not get the StageUIData of the stage 10 any more.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/YanTangZhai/spark SPARK-2643

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/spark/pull/1854.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1854
    
----
commit cdef539abc5d2d42d4661373939bdd52ca8ee8e6
Author: YanTangZhai <[email protected]>
Date:   2014-08-06T13:07:08Z

    Merge pull request #1 from apache/master
    
    update

commit efd550c2b742bf7036a96cda60c15702de3f0d70
Author: yantangzhai <[email protected]>
Date:   2014-08-08T11:30:48Z

    [SPARK-2643] Stages web ui has ERROR when pool name is None

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to