sarutak commented on pull request #30573:
URL: https://github.com/apache/spark/pull/30573#issuecomment-738668569
When we visit the StagePage, we'll get the following error.
```
20/12/04 18:09:36 WARN HttpChannel: handleException
/api/v1/applications/local-1607072949034/stages/0/0
com.fasterxml.jackson.databind.JsonMappingException: class
org.apache.spark.executor.ExecutorMetrics cannot be cast to class scala.Option
(org.apache.spark.executor.ExecutorMetrics and scala.Option are in unnamed
module of loader 'app') (through reference chain:
org.apache.spark.status.api.v1.StageData["executorSummary"]->scala.collection.convert.Wrappers$MapWrapper["driver"]->org.apache.spark.status.api.v1.ExecutorStageSummary["peakMemoryMetrics"])
20/12/04 18:09:36 WARN HttpChannelState: unhandled due to prior sendError
javax.servlet.ServletException:
org.glassfish.jersey.server.ContainerException:
com.fasterxml.jackson.databind.JsonMappingException: class
org.apache.spark.executor.ExecutorMetrics cannot be cast to class scala.Option
(org.apache.spark.executor.ExecutorMetrics and scala.Option are in unnamed
module of loader 'app') (through reference chain:
org.apache.spark.status.api.v1.StageData["executorSummary"]->scala.collection.convert.Wrappers$MapWrapper["driver"]->org.apache.spark.status.api.v1.ExecutorStageSummary["peakMemoryMetrics"])
at
org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:410)
at
org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346)
at
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:366)
at
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:319)
at
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)
at
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:763)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1631)
at
org.apache.spark.ui.HttpSecurityFilter.doFilter(HttpSecurityFilter.scala:95)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:549)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1363)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:489)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1278)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:767)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:221)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:500)
at
org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
at
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.glassfish.jersey.server.ContainerException:
com.fasterxml.jackson.databind.JsonMappingException: class
org.apache.spark.executor.ExecutorMetrics cannot be cast to class scala.Option
(org.apache.spark.executor.ExecutorMetrics and scala.Option are in unnamed
module of loader 'app') (through reference chain:
org.apache.spark.status.api.v1.StageData["executorSummary"]->scala.collection.convert.Wrappers$MapWrapper["driver"]->org.apache.spark.status.api.v1.ExecutorStageSummary["peakMemoryMetrics"])
at
org.glassfish.jersey.servlet.internal.ResponseWriter.rethrow(ResponseWriter.java:254)
at
org.glassfish.jersey.servlet.internal.ResponseWriter.failure(ResponseWriter.java:236)
at
org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:436)
at
org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:261)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
at
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)
at
org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:232)
at
org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:680)
at
org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:394)
... 35 more
Caused by: com.fasterxml.jackson.databind.JsonMappingException: class
org.apache.spark.executor.ExecutorMetrics cannot be cast to class scala.Option
(org.apache.spark.executor.ExecutorMetrics and scala.Option are in unnamed
module of loader 'app') (through reference chain:
org.apache.spark.status.api.v1.StageData["executorSummary"]->scala.collection.convert.Wrappers$MapWrapper["driver"]->org.apache.spark.status.api.v1.ExecutorStageSummary["peakMemoryMetrics"])
at
com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:394)
at
com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:353)
at
com.fasterxml.jackson.databind.ser.std.StdSerializer.wrapAndThrow(StdSerializer.java:316)
at
com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:729)
at
com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:166)
at
com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeOptionalFields(MapSerializer.java:782)
at
com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:639)
at
com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:33)
at
com.fasterxml.jackson.databind.ser.std.StdDelegatingSerializer.serialize(StdDelegatingSerializer.java:168)
at
com.fasterxml.jackson.databind.ser.std.ReferenceTypeSerializer.serialize(ReferenceTypeSerializer.java:381)
at
com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727)
at
com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:721)
at
com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:166)
at
com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480)
at
com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319)
at
com.fasterxml.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:4094)
at
com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:3360)
at
org.apache.spark.status.api.v1.JacksonMessageWriter.writeTo(JacksonMessageWriter.scala:70)
at
org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor.invokeWriteTo(WriterInterceptorExecutor.java:242)
at
org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor.aroundWriteTo(WriterInterceptorExecutor.java:227)
at
org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:139)
at
org.glassfish.jersey.server.internal.JsonWithPaddingInterceptor.aroundWriteTo(JsonWithPaddingInterceptor.java:85)
at
org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:139)
at
org.glassfish.jersey.server.internal.MappableExceptionWrapperInterceptor.aroundWriteTo(MappableExceptionWrapperInterceptor.java:61)
at
org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:139)
at
org.glassfish.jersey.message.internal.MessageBodyFactory.writeTo(MessageBodyFactory.java:1116)
at
org.glassfish.jersey.server.ServerRuntime$Responder.writeResponse(ServerRuntime.java:638)
at
org.glassfish.jersey.server.ServerRuntime$Responder.processResponse(ServerRuntime.java:371)
at
org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:361)
at
org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:256)
... 44 more
Caused by: java.lang.ClassCastException: class
org.apache.spark.executor.ExecutorMetrics cannot be cast to class scala.Option
(org.apache.spark.executor.ExecutorMetrics and scala.Option are in unnamed
module of loader 'app')
at
org.apache.spark.status.api.v1.ExecutorMetricsJsonSerializer.serialize(api.scala:151)
at
com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727)
at
com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:721)
... 70 more
```
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]