Search before asking
What happened
Hi guys,
I encountered seatunnel-web integration bug with #7893 ,so i try to build the application from the latest code (2.3.9-snapshot),but the seatunntel-web application running failed.
It didn't happen in seatunnel 2.3.8 + seatunnel 1.0.2, would you please check it what's going on?
SeaTunnel Version
dev branch
2.3.9-SNAPSHOT
SeaTunnel Config
nothing about config mistake
Running Command
running seatunnel-web application
bin/seatunnel-backend-daemon.sh start
tail -f logs/seatunnel-web.log
Error Exception
2025-01-10 16:02:48.737 seatunnel seatunnel-2 INFO [main] [StartupInfoLogger.logStarting():55] - Starting SeatunnelApplication v1.0.2 using Java 1.8.0_342 on seatunnel-2 with PID 18 (/opt/seatunnel-web/libs/seatunnel-app-1.0.2.jar started by root in /opt/seatunnel-web)
2025-01-10 16:02:48.743 seatunnel seatunnel-2 INFO [main] [SpringApplication.logStartupProfileInfo():645] - No active profile set, falling back to 1 default profile: "default"
2025-01-10 16:03:03.739 seatunnel seatunnel-2 INFO [main] [Log.initialized():170] - Logging initialized @22329ms to org.eclipse.jetty.util.log.Slf4jLog
2025-01-10 16:03:04.346 seatunnel seatunnel-2 INFO [main] [JettyServletWebServerFactory.getWebServer():166] - Server initialized with port: 8801
2025-01-10 16:03:04.360 seatunnel seatunnel-2 INFO [main] [Server.doStart():375] - jetty-9.4.46.v20220331; built: 2022-03-31T16:38:08.030Z; git: bc17a0369a11ecf40bb92c839b9ef0a8ac50ea18; jvm 1.8.0_342-b07
2025-01-10 16:03:04.726 seatunnel seatunnel-2 INFO [main] [ContextHandler$Context.log():2368] - Initializing Spring embedded WebApplicationContext
2025-01-10 16:03:04.727 seatunnel seatunnel-2 INFO [main] [ServletWebServerApplicationContext.prepareWebApplicationContext():290] - Root WebApplicationContext: initialization completed in 13398 ms
2025-01-10 16:03:05.640 seatunnel seatunnel-2 INFO [main] [DefaultSessionIdManager.doStart():334] - DefaultSessionIdManager workerName=node0
2025-01-10 16:03:05.641 seatunnel seatunnel-2 INFO [main] [DefaultSessionIdManager.doStart():339] - No SessionScavenger set, using defaults
2025-01-10 16:03:05.644 seatunnel seatunnel-2 INFO [main] [HouseKeeper.startScavenging():132] - node0 Scavenging every 660000ms
2025-01-10 16:03:05.733 seatunnel seatunnel-2 INFO [main] [ContextHandler.doStart():921] - Started o.s.b.w.e.j.JettyEmbeddedWebAppContext@2aa14ae6{application,/,[file:///tmp/jetty-docbase.8801.6226319546176053955/, jar:file:/opt/seatunnel-web/libs/springfox-swagger-ui-2.6.1.jar!/META-INF/resources],AVAILABLE}
2025-01-10 16:03:05.734 seatunnel seatunnel-2 INFO [main] [Server.doStart():415] - Started @24326ms
2025-01-10 16:03:07.329 seatunnel seatunnel-2 INFO [main] [AbstractPluginDiscovery.<init>():116] - Load SeaTunnelSink Plugin from /opt/seatunnel/connectors
2025-01-10 16:03:08.342 seatunnel seatunnel-2 WARN [main] [AbstractApplicationContext.refresh():591] - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'connectorCache' defined in URL [jar:file:/opt/seatunnel-web/libs/seatunnel-app-1.0.2.jar!/org/apache/seatunnel/app/bean/connector/ConnectorCache.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.seatunnel.app.bean.connector.ConnectorCache]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/apache/seatunnel/api/table/factory/ChangeStreamTableSourceFactory
2025-01-10 16:03:08.432 seatunnel seatunnel-2 INFO [main] [HouseKeeper.stopScavenging():149] - node0 Stopped scavenging
2025-01-10 16:03:08.437 seatunnel seatunnel-2 INFO [main] [ContextHandler.doStop():1159] - Stopped o.s.b.w.e.j.JettyEmbeddedWebAppContext@2aa14ae6{application,/,[file:///tmp/jetty-docbase.8801.6226319546176053955/, jar:file:/opt/seatunnel-web/libs/springfox-swagger-ui-2.6.1.jar!/META-INF/resources],STOPPED}
2025-01-10 16:03:08.533 seatunnel seatunnel-2 INFO [main] [ConditionEvaluationReportLoggingListener.logMessage():136] -
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2025-01-10 16:03:08.828 seatunnel seatunnel-2 ERROR [main] [SpringApplication.reportFailure():835] - Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'connectorCache' defined in URL [jar:file:/opt/seatunnel-web/libs/seatunnel-app-1.0.2.jar!/org/apache/seatunnel/app/bean/connector/ConnectorCache.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.seatunnel.app.bean.connector.ConnectorCache]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/apache/seatunnel/api/table/factory/ChangeStreamTableSourceFactory
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1334)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1232)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:953)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306)
at org.apache.seatunnel.app.SeatunnelApplication.main(SeatunnelApplication.java:36)
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.seatunnel.app.bean.connector.ConnectorCache]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/apache/seatunnel/api/table/factory/ChangeStreamTableSourceFactory
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:224)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1326)
... 17 common frames omitted
Caused by: java.lang.NoClassDefFoundError: org/apache/seatunnel/api/table/factory/ChangeStreamTableSourceFactory
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:370)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at java.util.Iterator.forEachRemaining(Iterator.java:116)
at org.apache.seatunnel.api.table.factory.FactoryUtil.discoverFactories(FactoryUtil.java:263)
at org.apache.seatunnel.plugin.discovery.AbstractPluginDiscovery.getPluginFactories(AbstractPluginDiscovery.java:350)
at org.apache.seatunnel.plugin.discovery.AbstractPluginDiscovery.getAllPlugin(AbstractPluginDiscovery.java:287)
at org.apache.seatunnel.app.thirdparty.framework.PluginDiscoveryUtil.getAllConnectors(PluginDiscoveryUtil.java:130)
at org.apache.seatunnel.app.bean.connector.ConnectorCache.refresh(ConnectorCache.java:107)
at org.apache.seatunnel.app.bean.connector.ConnectorCache.<init>(ConnectorCache.java:73)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:211)
... 19 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.apache.seatunnel.api.table.factory.ChangeStreamTableSourceFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 58 common frames omitted
Zeta or Flink or Spark Version
No response
Java or Scala Version
No response
Screenshots
No response
Are you willing to submit PR?
Code of Conduct
Search before asking
What happened
Hi guys,
I encountered seatunnel-web integration bug with #7893 ,so i try to build the application from the latest code (2.3.9-snapshot),but the seatunntel-web application running failed.
It didn't happen in seatunnel 2.3.8 + seatunnel 1.0.2, would you please check it what's going on?
SeaTunnel Version
dev branch
2.3.9-SNAPSHOT
SeaTunnel Config
Running Command
Error Exception
Zeta or Flink or Spark Version
No response
Java or Scala Version
No response
Screenshots
No response
Are you willing to submit PR?
Code of Conduct