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

Andy Hayder commented on SPARK-51434:
-------------------------------------

Maven

<spark.version>4.0.0-preview2</spark.version>

 

 

SLF4J(W): Class path contains multiple SLF4J providers.

SLF4J(W): Found provider 
[ch.qos.logback.classic.spi.LogbackServiceProvider@11a9e7c8]

SLF4J(W): Found provider [org.slf4j.jul.JULServiceProvider@3901d134]

SLF4J(W): Found provider 
[org.apache.logging.slf4j.SLF4JServiceProvider@14d3bc22]

SLF4J(W): See [https://www.slf4j.org/codes.html#multiple_bindings] for an 
explanation.

SLF4J(I): Actual provider is of type 
[ch.qos.logback.classic.spi.LogbackServiceProvider@11a9e7c8]

 

  .   ____          _            __ _ _

/\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \

( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \

\\/  ___)| |_)| | | | | || (_| |  ) ) ) )

  '  |____| .__|_| |_|_| |_\__, | / / / /

=========|_|==============|___/=/_/_/_/

 

:: Spring Boot ::                (v3.4.3)

 

2025-03-14 08:10:42 [main] INFO  de.xxxx.xxxx.RiverApplication - Starting 
RiverApplication using Java 17.0.2 with PID 11412 
(C:\Development\GitRepos\xxx\rvrdavit-spring\application\target\classes started 
by xn00147 in C:\Development\GitRepos\river\rvrdavit-spring\application)

2025-03-14 08:10:42 [main] INFO  de.xxxx.river.RiverApplication - The following 
1 profile is active: "default"

2025-03-14 08:10:44 [main] INFO  o.s.d.r.c.RepositoryConfigurationDelegate - 
Bootstrapping Spring Data JPA repositories in DEFAULT mode.

2025-03-14 08:10:44 [main] INFO  o.s.d.r.c.RepositoryConfigurationDelegate - 
Finished Spring Data repository scanning in 8 ms. Found 0 JPA repository 
interfaces.

2025-03-14 08:10:44 [main] INFO  o.s.d.r.c.RepositoryConfigurationDelegate - 
Bootstrapping Spring Data JPA repositories in DEFAULT mode.

2025-03-14 08:10:44 [main] INFO  o.s.d.r.c.RepositoryConfigurationDelegate - 
Finished Spring Data repository scanning in 269 ms. Found 2 JPA repository 
interfaces.

2025-03-14 08:10:44 [main] INFO  o.s.d.r.c.RepositoryConfigurationDelegate - 
Bootstrapping Spring Data JPA repositories in DEFAULT mode.

2025-03-14 08:10:44 [main] INFO  o.s.d.r.c.RepositoryConfigurationDelegate - 
Finished Spring Data repository scanning in 31 ms. Found 4 JPA repository 
interfaces.

2025-03-14 08:10:46 [main] INFO  o.s.b.w.e.tomcat.TomcatWebServer - Tomcat 
initialized with port 8080 (http)

2025-03-14 08:10:46 [main] INFO  o.a.catalina.core.StandardService - Starting 
service [Tomcat]

2025-03-14 08:10:46 [main] INFO  o.a.catalina.core.StandardEngine - Starting 
Servlet engine: [Apache Tomcat/10.1.36]

2025-03-14 08:10:46 [main] INFO  o.a.c.c.C.[Tomcat].[localhost].[/] - 
Initializing Spring embedded WebApplicationContext

2025-03-14 08:10:46 [main] INFO  o.s.b.w.s.c.ServletWebServerApplicationContext 
- Root WebApplicationContext: initialization completed in 4129 ms

 

 

at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean({+}AbstractBeanFactory.java:202{+})

               at 
org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate({+}DependencyDescriptor.java:254{+})

               at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency({+}DefaultListableBeanFactory.java:1664{+})

               at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency({+}DefaultListableBeanFactory.java:1552{+})

               at 
org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument({+}ConstructorResolver.java:913{+})

               at 
org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray({+}ConstructorResolver.java:791{+})

               ... 49 common frames omitted

Caused by: {+}org.springframework.beans.factory.BeanCreationException{+}: Error 
creating bean with name 'sparkSession' defined in class path resource 
[de/xxxx/river/configuration/spark/SparkConfig.class]: Failed to instantiate 
[org.apache.spark.sql.SparkSession]: Factory method 'sparkSession' threw 
exception with message: jakarta/servlet/SingleThreadModel

               at 
org.springframework.beans.factory.support.ConstructorResolver.instantiate({+}ConstructorResolver.java:657{+})

               at 
org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod({+}ConstructorResolver.java:489{+})

               at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod({+}AbstractAutowireCapableBeanFactory.java:1361{+})

               at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance({+}AbstractAutowireCapableBeanFactory.java:1191{+})

               at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean({+}AbstractAutowireCapableBeanFactory.java:563{+})

               at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean({+}AbstractAutowireCapableBeanFactory.java:523{+})

               at 
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0({+}AbstractBeanFactory.java:339{+})

               at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton({+}DefaultSingletonBeanRegistry.java:346{+})

               at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean({+}AbstractBeanFactory.java:337{+})

               at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean({+}AbstractBeanFactory.java:202{+})

               at 
org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate({+}DependencyDescriptor.java:254{+})

               at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency({+}DefaultListableBeanFactory.java:1664{+})

               at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency({+}DefaultListableBeanFactory.java:1552{+})

               at 
org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument({+}ConstructorResolver.java:913{+})

               at 
org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray({+}ConstructorResolver.java:791{+})

               ... 63 common frames omitted

Caused by: {+}org.springframework.beans.BeanInstantiationException{+}: Failed 
to instantiate [org.apache.spark.sql.SparkSession]: Factory method 
'sparkSession' threw exception with message: jakarta/servlet/SingleThreadModel

               at 
org.springframework.beans.factory.support.SimpleInstantiationStrategy.lambda$instantiate$0({+}SimpleInstantiationStrategy.java:199{+})

               at 
org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiateWithFactoryMethod({+}SimpleInstantiationStrategy.java:88{+})

               at 
org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate({+}SimpleInstantiationStrategy.java:168{+})

               at 
org.springframework.beans.factory.support.ConstructorResolver.instantiate({+}ConstructorResolver.java:653{+})

               ... 77 common frames omitted

Caused by: java.lang.NoClassDefFoundError: jakarta/servlet/SingleThreadModel

               at 
org.sparkproject.jetty.servlet.ServletHolder.setServlet({+}ServletHolder.java:173{+})

               at 
org.sparkproject.jetty.servlet.ServletHolder.<init>({+}ServletHolder.java:120{+})

               at 
org.apache.spark.ui.JettyUtils$.createServletHandler(JettyUtils.scala:121)

               at 
org.apache.spark.ui.JettyUtils$.createServletHandler(JettyUtils.scala:107)

               at 
org.apache.spark.metrics.sink.MetricsServlet.getHandlers(MetricsServlet.scala:50)

               at 
org.apache.spark.metrics.MetricsSystem.$anonfun$getServletHandlers$2(MetricsSystem.scala:91)

               at scala.Option.map(Option.scala:242)

               at 
org.apache.spark.metrics.MetricsSystem.getServletHandlers(MetricsSystem.scala:91)

               at org.apache.spark.SparkContext.<init>(SparkContext.scala:689)

               at 
org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:3010)

               at 
org.apache.spark.sql.SparkSession$Builder.$anonfun$getOrCreate$2(SparkSession.scala:961)

               at scala.Option.getOrElse(Option.scala:201)

               at 
org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:955)

               at 
de.xxxx.river.service.dataservices.util.SparkUtil.createSession({+}SparkUtil.java:103{+})

               at 
de.xxxx.river.configuration.spark.SparkConfig.sparkSession({+}SparkConfig.java:25{+})

               at 
de.xxxx.river.configuration.spark.SparkConfig$$SpringCGLIB$$0.CGLIB$sparkSession$0(<generated>)

               at 
de.xxxx.river.configuration.spark.SparkConfig$$SpringCGLIB$$FastClass$$1.invoke(<generated>)

               at 
org.springframework.cglib.proxy.MethodProxy.invokeSuper({+}MethodProxy.java:258{+})

               at 
org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept({+}ConfigurationClassEnhancer.java:372{+})

               at 
de.xxxx.river.configuration.spark.SparkConfig$$SpringCGLIB$$0.sparkSession(<generated>)

               at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0({+}Native 
Method{+})

               at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke({+}NativeMethodAccessorImpl.java:77{+})

               at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke({+}DelegatingMethodAccessorImpl.java:43{+})

               at 
java.base/java.lang.reflect.Method.invoke({+}Method.java:568{+})

               at 
org.springframework.beans.factory.support.SimpleInstantiationStrategy.lambda$instantiate$0({+}SimpleInstantiationStrategy.java:171{+})

               ... 80 common frames omitted

Caused by: {+}java.lang.ClassNotFoundException{+}: 
jakarta.servlet.SingleThreadModel

               at 
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass({+}BuiltinClassLoader.java:641{+})

               at 
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass({+}ClassLoaders.java:188{+})

               at 
java.base/java.lang.ClassLoader.loadClass({+}ClassLoader.java:520{+})

               ... 105 common frames omitted

 

 

> jakarta.servlet Version 5 => 6
> ------------------------------
>
>                 Key: SPARK-51434
>                 URL: https://issues.apache.org/jira/browse/SPARK-51434
>             Project: Spark
>          Issue Type: Dependency upgrade
>          Components: Spark Core
>    Affects Versions: 4.0.0
>            Reporter: Andy Hayder
>            Priority: Major
>             Fix For: 4.1.0
>
>
> Using jakarta.servlet V 5 is here in the free world a big problem.
> With spring-boot 3.x, hibernate and spark in combination you are in a 
> dependency hell through using antlr4-runtime and jakarta.servlet. It's 
> impossible to find a matching configuration.
>  
> We have to update the stack once a year. So jakarta-servlet V5 i a little bit 
> older and when waiting to spark V 4 [its a new major release!!] with a 
> updated jakarta-servlet API V6 , the world looks much better.
> Unfortunately, Spark uses Servlet classes 
> (jakarta/servlet/SingleThreadModel), which are no longer available in Servlet 
> 6.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to