[ 
https://issues.apache.org/jira/browse/SPARK-27795?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16844893#comment-16844893
 ] 

Alexander Bouriakov commented on SPARK-27795:
---------------------------------------------

My ugly workaround currently is

ServerInfo serverInfo = 
sparkSession.sparkContext().ui().get().serverInfo().get();
{color:#000080}try {color}{
 Field serverField = 
serverInfo.getClass().getDeclaredField({color:#008000}"server"{color});
 serverField.setAccessible({color:#000080}true{color});
 Server jettyServer = (Server) serverField.get(serverInfo);
 
((HttpConnectionFactory)jettyServer.getConnectors()[{color:#0000ff}0{color}].getConnectionFactory({color:#008000}"http/1.1"{color})).getHttpConfiguration().setOutputBufferSize({color:#0000ff}1{color});
} {color:#000080}catch {color}(Exception e) {
 {color:#000080}throw new {color}IllegalArgumentException(e);
}

> Spark Web UI is broken when running in local mode within WildFly application 
> server
> -----------------------------------------------------------------------------------
>
>                 Key: SPARK-27795
>                 URL: https://issues.apache.org/jira/browse/SPARK-27795
>             Project: Spark
>          Issue Type: Bug
>          Components: Web UI
>    Affects Versions: 2.4.3
>         Environment: Steps to reproduce:
> In a Servlet, instantiate a local spark session
> SparkConf conf = {color:#000080}new 
> {color}SparkConf().setMaster({color:#008000}"local[*]"{color}).setAppName({color:#008000}"My
>  App"{color});
> SparkSession orCreate = SparkSession.builder().config(conf).getOrCreate();
> Try accessing the Spark Web UI (port 4040) -> UI is broken, only some basic 
> text is see, JavaScript is not working.
>            Reporter: Alexander Bouriakov
>            Priority: Major
>
> Static files of the Web UI from 
> *spark-core_2.12-2.4.3.jar/org/apache/spark/ui/static* with filesize smaller 
> than the OutputBufferSize of the jetty Server (which ist 32k by default) 
> return HTTP 500 because Jetty tries to load them by the path contained in 
> their WildFly vfs:// URL which points to a JAR and therefore can not be read 
> by RandomAccessFile. 
> For bigger files (like bootstrap.min.css), the file is read differently 
> (probably by using Resource.openStream()) which works.
> I know that Jetty is produced by Eclipse but post it here since it is 
> integrated into Spark. Feel free to forward it to Eclipse issue tracking.
> *Steps to reproduce:*
> In a Servlet, instantiate a local spark session
> SparkConf conf = {color:#000080}new 
> {color}SparkConf().setMaster({color:#008000}"local[*]"{color}).setAppName({color:#008000}"My
>  App"{color});
>  SparkSession orCreate = SparkSession.builder().config(conf).getOrCreate();
> Try accessing the Spark Web UI (port 4040) -> UI is broken, only some basic 
> text is see, JavaScript is not working.
> *Example:*
> Problem accessing /static/spark-logo-77x50px-hd.png. Reason:
> Server Error
> h2. HTTP ERROR 500
> Problem accessing /static/spark-logo-77x50px-hd.png. Reason:
> Server Error
>  
> h3. Caused by:
> java.lang.RuntimeException: java.io.FileNotFoundException: 
> /content/restws-war-4.0.100-SNAPSHOT.war/WEB-INF/lib/spark-core_2.12-2.4.3.jar/org/apache/spark/ui/static/spark-logo-77x50px-hd.png
>  (Datei oder Verzeichnis nicht gefunden) at 
> org.spark_project.jetty.http.ResourceHttpContent.getDirectBuffer(ResourceHttpContent.java:136)
>  at 
> org.spark_project.jetty.server.HttpOutput.sendContent(HttpOutput.java:823) at 
> org.spark_project.jetty.servlet.DefaultServlet.sendData(DefaultServlet.java:948)
>  at 
> org.spark_project.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:532) 
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:686) at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:791) at 
> org.spark_project.jetty.servlet.ServletHolder.handle(ServletHolder.java:848) 
> at 
> org.spark_project.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:584)
>  at 
> org.spark_project.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
>  at 
> org.spark_project.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
>  at 
> org.spark_project.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
>  at 
> org.spark_project.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>  at 
> org.spark_project.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:404)
>  at 
> org.spark_project.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:187)
>  at 
> org.spark_project.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
>  at org.spark_project.jetty.server.Server.handleAsync(Server.java:584) at 
> org.spark_project.jetty.server.HttpChannel.handle(HttpChannel.java:423) at 
> org.spark_project.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
>  at 
> org.spark_project.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
>  at org.spark_project.jetty.io.FillInterest.fillable(FillInterest.java:108) 
> at 
> org.spark_project.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
>  at 
> org.spark_project.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
>  at 
> org.spark_project.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
>  at 
> org.spark_project.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
>  at 
> org.spark_project.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
>  at 
> org.spark_project.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
>  at java.lang.Thread.run(Thread.java:745) Caused by: 
> java.io.FileNotFoundException: 
> /content/restws-war-4.0.100-SNAPSHOT.war/WEB-INF/lib/spark-core_2.12-2.4.3.jar/org/apache/spark/ui/static/spark-logo-77x50px-hd.png
>  (Datei oder Verzeichnis nicht gefunden) at 
> java.io.RandomAccessFile.open0(Native Method) at 
> java.io.RandomAccessFile.open(RandomAccessFile.java:316) at 
> java.io.RandomAccessFile.<init>(RandomAccessFile.java:243) at 
> org.spark_project.jetty.util.BufferUtil.readFrom(BufferUtil.java:449) at 
> org.spark_project.jetty.util.BufferUtil.toBuffer(BufferUtil.java:945) at 
> org.spark_project.jetty.http.ResourceHttpContent.getDirectBuffer(ResourceHttpContent.java:132)
>  ... 26 more
> h3. Caused by:
> java.io.FileNotFoundException: 
> /content/restws-war-4.0.100-SNAPSHOT.war/WEB-INF/lib/spark-core_2.12-2.4.3.jar/org/apache/spark/ui/static/spark-logo-77x50px-hd.png
>  (Datei oder Verzeichnis nicht gefunden) at 
> java.io.RandomAccessFile.open0(Native Method) at 
> java.io.RandomAccessFile.open(RandomAccessFile.java:316) at 
> java.io.RandomAccessFile.<init>(RandomAccessFile.java:243) at 
> org.spark_project.jetty.util.BufferUtil.readFrom(BufferUtil.java:449) at 
> org.spark_project.jetty.util.BufferUtil.toBuffer(BufferUtil.java:945) at 
> org.spark_project.jetty.http.ResourceHttpContent.getDirectBuffer(ResourceHttpContent.java:132)
>  at 
> org.spark_project.jetty.server.HttpOutput.sendContent(HttpOutput.java:823) at 
> org.spark_project.jetty.servlet.DefaultServlet.sendData(DefaultServlet.java:948)
>  at 
> org.spark_project.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:532) 
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:686) at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:791) at 
> org.spark_project.jetty.servlet.ServletHolder.handle(ServletHolder.java:848) 
> at 
> org.spark_project.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:584)
>  at 
> org.spark_project.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
>  at 
> org.spark_project.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
>  at 
> org.spark_project.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
>  at 
> org.spark_project.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>  at 
> org.spark_project.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:404)
>  at 
> org.spark_project.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:187)
>  at 
> org.spark_project.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
>  at org.spark_project.jetty.server.Server.handleAsync(Server.java:584) at 
> org.spark_project.jetty.server.HttpChannel.handle(HttpChannel.java:423) at 
> org.spark_project.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
>  at 
> org.spark_project.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
>  at org.spark_project.jetty.io.FillInterest.fillable(FillInterest.java:108) 
> at 
> org.spark_project.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
>  at 
> org.spark_project.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
>  at 
> org.spark_project.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
>  at 
> org.spark_project.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
>  at 
> org.spark_project.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
>  at 
> org.spark_project.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
>  at java.lang.Thread.run(Thread.java:745)
> ----
> [Powered by Jetty:// 9.3.z-SNAPSHOT|http://eclipse.org/jetty]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to