[ 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