zixiao144 opened a new issue, #12405: URL: https://github.com/apache/seatunnel/issues/12405
### Search before asking - [x] I had searched in the [issues](https://github.com/apache/seatunnel/issues?q=is%3Aissue+label%3A%22bug%22) and found no similar issues. ### What happened Engine returned 500: {"status":"fail","message":"HazelcastSerializationException: Failed to serialize 'org.apache.seatunnel.engine.core.dag.logical.LogicalVertex'"} ### SeaTunnel Version 3.0.0 ### SeaTunnel Config ```conf env { job { mode = "STREAMING" } checkpoint { interval = 30000 } parallelism = 1 } source { MQTT { url = "tcp://192.168.20.97:1883" username = "admin" password = "sss" topic = "ss" format = "json" plugin_output = "source-1789882989935" schema { fields { ssa = string } } } } transform { } sink { Jdbc { url = "jdbc:mysql://192.168.20.99:13307/s?useSSL=false&allowPublicKeyRetrieval=true" username = "root" password = "" driver = "com.mysql.cj.jdbc.Driver" database = "s" auto_create_table = true plugin_input = "source-1789882989935" table = "sas" schema_save_mode = "CREATE_SCHEMA_WHEN_NOT_EXIST" data_save_mode = "APPEND_DATA" generate_sink_sql = true enable_upsert = true batch_size = 1000 sink.label-prefix = "seatunnel_1789883046622" } } ``` ### Running Command ```shell Engine returned 500: {"status":"fail","message":"HazelcastSerializationException: Failed to serialize 'org.apache.seatunnel.engine.core.dag.logical.LogicalVertex'"} env { job { mode = "STREAMING" } checkpoint { interval = 30000 } parallelism = 1 } source { MQTT { url = "tcp://192.168.20.97:1883" username = "admin" password = "sss" topic = "ss" format = "json" plugin_output = "source-1789882989935" schema { fields { ssa = string } } } } transform { } sink { Jdbc { url = "jdbc:mysql://192.168.20.99:13307/s?useSSL=false&allowPublicKeyRetrieval=true" username = "root" password = "" driver = "com.mysql.cj.jdbc.Driver" database = "s" auto_create_table = true plugin_input = "source-1789882989935" table = "sas" schema_save_mode = "CREATE_SCHEMA_WHEN_NOT_EXIST" data_save_mode = "APPEND_DATA" generate_sink_sql = true enable_upsert = true batch_size = 1000 sink.label-prefix = "seatunnel_1789883046622" } } ``` ### Error Exception ```log 2026-09-20T05:43:43.915397538Z [] 2026-09-20 13:44:06,922 INFO [s.SubmitJobByUploadFileServlet] [qtp1716661933-101] - Processing uploaded config file: streaming-job-492209319660621824.conf [] 2026-09-20 13:44:06,927 INFO [p.MultipleTableJobConfigParser] [qtp1716661933-101] - add common jar in plugins :[] [] 2026-09-20 13:44:06,933 INFO [.s.p.d.AbstractPluginDiscovery] [qtp1716661933-101] - Load SeaTunnelSource Plugin from /opt/seatunnel/connectors 2026-09-20T05:44:06.934548682Z [] 2026-09-20 13:44:06,934 INFO [.s.p.d.AbstractPluginDiscovery] [qtp1716661933-101] - Discovery plugin jar for: PluginIdentifier{engineType='seatunnel', pluginType='source', pluginName='MQTT'} at: [file:/opt/seatunnel/connectors/connector-mqtt-3.0.0.jar] [] 2026-09-20 13:44:06,934 INFO [.s.p.d.AbstractPluginDiscovery] [qtp1716661933-101] - find connector jar and dependency for PluginIdentifier{engineType='seatunnel', pluginType='source', pluginName='MQTT'}: [file:/opt/seatunnel/connectors/connector-mqtt-3.0.0.jar] [] 2026-09-20 13:44:06,939 INFO [.s.p.d.AbstractPluginDiscovery] [qtp1716661933-101] - Load SeaTunnelTransform Plugin from /opt/seatunnel/connectors [] 2026-09-20 13:44:06,944 INFO [.s.p.d.AbstractPluginDiscovery] [qtp1716661933-101] - Load SeaTunnelSink Plugin from /opt/seatunnel/connectors [] 2026-09-20 13:44:06,945 INFO [.s.p.d.AbstractPluginDiscovery] [qtp1716661933-101] - Discovery plugin jar for: PluginIdentifier{engineType='seatunnel', pluginType='sink', pluginName='Jdbc'} at: [file:/opt/seatunnel/connectors/connector-jdbc-3.0.0.jar] [] 2026-09-20 13:44:06,945 INFO [.s.p.d.AbstractPluginDiscovery] [qtp1716661933-101] - find connector jar and dependency for PluginIdentifier{engineType='seatunnel', pluginType='sink', pluginName='Jdbc'}: [file:/opt/seatunnel/connectors/connector-jdbc-3.0.0.jar] [] 2026-09-20 13:44:06,946 WARN [o.a.s.a.c.u.ConfigUtil ] [qtp1716661933-101] - Option 'plugin_input' is a List, and it is recommended to configure it as ["string1","string2"]; we will only use ',' to split the String into a list. [] 2026-09-20 13:44:06,946 INFO [p.MultipleTableJobConfigParser] [qtp1716661933-101] - start generating all sources. [] 2026-09-20 13:44:06,950 INFO [o.a.s.a.t.f.FactoryUtil ] [qtp1716661933-101] - get the CatalogTable from source MQTT: .null.source-1789882989935 [] 2026-09-20 13:44:06,955 INFO [.s.p.d.AbstractPluginDiscovery] [qtp1716661933-101] - Load SeaTunnelSource Plugin from /opt/seatunnel/connectors 2026-09-20T05:44:06.956660628Z [] 2026-09-20 13:44:06,956 INFO [.s.p.d.AbstractPluginDiscovery] [qtp1716661933-101] - Discovery plugin jar for: PluginIdentifier{engineType='seatunnel', pluginType='source', pluginName='MQTT'} at: [file:/opt/seatunnel/connectors/connector-mqtt-3.0.0.jar] [] 2026-09-20 13:44:06,956 INFO [.s.p.d.AbstractPluginDiscovery] [qtp1716661933-101] - find connector jar and dependency for PluginIdentifier{engineType='seatunnel', pluginType='source', pluginName='MQTT'}: [file:/opt/seatunnel/connectors/connector-mqtt-3.0.0.jar] [] 2026-09-20 13:44:06,956 INFO [p.MultipleTableJobConfigParser] [qtp1716661933-101] - start generating all transforms. [] 2026-09-20 13:44:06,956 INFO [p.MultipleTableJobConfigParser] [qtp1716661933-101] - start generating all sinks. [] 2026-09-20 13:44:06,956 WARN [o.a.s.a.c.u.ConfigUtil ] [qtp1716661933-101] - Option 'plugin_input' is a List, and it is recommended to configure it as ["string1","string2"]; we will only use ',' to split the String into a list. [] 2026-09-20 13:44:06,961 INFO [.s.p.d.AbstractPluginDiscovery] [qtp1716661933-101] - Load SeaTunnelSink Plugin from /opt/seatunnel/connectors [] 2026-09-20 13:44:06,962 INFO [.s.p.d.AbstractPluginDiscovery] [qtp1716661933-101] - Discovery plugin jar for: PluginIdentifier{engineType='seatunnel', pluginType='sink', pluginName='Jdbc'} at: [file:/opt/seatunnel/connectors/connector-jdbc-3.0.0.jar] [] 2026-09-20 13:44:06,962 INFO [.s.p.d.AbstractPluginDiscovery] [qtp1716661933-101] - find connector jar and dependency for PluginIdentifier{engineType='seatunnel', pluginType='sink', pluginName='Jdbc'}: [file:/opt/seatunnel/connectors/connector-jdbc-3.0.0.jar] [] 2026-09-20 13:44:06,966 INFO [o.a.s.a.t.f.FactoryUtil ] [qtp1716661933-101] - Create sink 'Jdbc' with upstream input catalog-table[database: null, schema: null, table: source-1789882989935] [] 2026-09-20 13:44:06,985 ERROR [.s.r.f.ExceptionHandlingFilter] [qtp1716661933-101] - Error occurred while processing request com.hazelcast.nio.serialization.HazelcastSerializationException: Failed to serialize 'org.apache.seatunnel.engine.core.dag.logical.LogicalVertex' at com.hazelcast.internal.serialization.impl.SerializationUtil.handleSerializeException(SerializationUtil.java:129) ~[seatunnel-starter.jar:3.0.0] at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toBytes(AbstractSerializationService.java:238) ~[seatunnel-starter.jar:3.0.0] at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toBytes(AbstractSerializationService.java:214) ~[seatunnel-starter.jar:3.0.0] at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toData(AbstractSerializationService.java:199) ~[seatunnel-starter.jar:3.0.0] at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toData(AbstractSerializationService.java:154) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.engine.core.job.JobImmutableInformation.lambda$new$0(JobImmutableInformation.java:124) ~[seatunnel-starter.jar:3.0.0] at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684) ~[?:1.8.0_342] at org.apache.seatunnel.engine.core.job.JobImmutableInformation.<init>(JobImmutableInformation.java:122) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.engine.server.rest.RestJobExecutionEnvironment.build(RestJobExecutionEnvironment.java:211) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.engine.server.rest.service.BaseService.submitJobInternal(BaseService.java:1354) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.engine.server.rest.service.JobInfoService.submitJob(JobInfoService.java:431) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.engine.server.rest.servlet.SubmitJobByUploadFileServlet.doPost(SubmitJobByUploadFileServlet.java:81) ~[seatunnel-starter.jar:3.0.0] at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) ~[seatunnel-shade-hadoop3-uber-3.1.4-3.0.0.jar:3.1.4-3.0.0] at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[seatunnel-shade-hadoop3-uber-3.1.4-3.0.0.jar:3.1.4-3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.engine.server.rest.filter.ExceptionHandlingFilter.doFilter(ExceptionHandlingFilter.java:51) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.server.Server.handle(Server.java:516) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.shade.org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) ~[seatunnel-starter.jar:3.0.0] at java.lang.Thread.run(Thread.java:750) [?:1.8.0_342] Caused by: com.hazelcast.nio.serialization.HazelcastSerializationException: Failed to serialize 'org.apache.seatunnel.engine.core.dag.actions.SourceAction' at com.hazelcast.internal.serialization.impl.SerializationUtil.handleSerializeException(SerializationUtil.java:129) ~[seatunnel-starter.jar:3.0.0] at com.hazelcast.internal.serialization.impl.AbstractSerializationService.writeObject(AbstractSerializationService.java:334) ~[seatunnel-starter.jar:3.0.0] at com.hazelcast.internal.serialization.impl.ByteArrayObjectDataOutput.writeObject(ByteArrayObjectDataOutput.java:402) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.engine.core.dag.logical.LogicalVertex.writeData(LogicalVertex.java:92) ~[seatunnel-starter.jar:3.0.0] at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.write(DataSerializableSerializer.java:244) ~[seatunnel-starter.jar:3.0.0] at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.write(DataSerializableSerializer.java:51) ~[seatunnel-starter.jar:3.0.0] at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.write(StreamSerializerAdapter.java:39) ~[seatunnel-starter.jar:3.0.0] at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toBytes(AbstractSerializationService.java:235) ~[seatunnel-starter.jar:3.0.0] ... 45 more Caused by: java.io.NotSerializableException: org.apache.seatunnel.connectors.seatunnel.mqtt.source.MqttSourceConfig at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184) ~[?:1.8.0_342] at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) ~[?:1.8.0_342] at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) ~[?:1.8.0_342] at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) ~[?:1.8.0_342] at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) ~[?:1.8.0_342] at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) ~[?:1.8.0_342] at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) ~[?:1.8.0_342] at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) ~[?:1.8.0_342] at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) ~[?:1.8.0_342] at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) ~[?:1.8.0_342] at com.hazelcast.internal.serialization.impl.defaultserializers.JavaDefaultSerializers$JavaSerializer.write(JavaDefaultSerializers.java:124) ~[seatunnel-starter.jar:3.0.0] at com.hazelcast.internal.serialization.impl.defaultserializers.JavaDefaultSerializers$JavaSerializer.write(JavaDefaultSerializers.java:117) ~[seatunnel-starter.jar:3.0.0] at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.write(StreamSerializerAdapter.java:39) ~[seatunnel-starter.jar:3.0.0] at com.hazelcast.internal.serialization.impl.AbstractSerializationService.writeObject(AbstractSerializationService.java:332) ~[seatunnel-starter.jar:3.0.0] at com.hazelcast.internal.serialization.impl.ByteArrayObjectDataOutput.writeObject(ByteArrayObjectDataOutput.java:402) ~[seatunnel-starter.jar:3.0.0] at org.apache.seatunnel.engine.core.dag.logical.LogicalVertex.writeData(LogicalVertex.java:92) ~[seatunnel-starter.jar:3.0.0] at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.write(DataSerializableSerializer.java:244) ~[seatunnel-starter.jar:3.0.0] at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.write(DataSerializableSerializer.java:51) ~[seatunnel-starter.jar:3.0.0] at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.write(StreamSerializerAdapter.java:39) ~[seatunnel-starter.jar:3.0.0] at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toBytes(AbstractSerializationService.java:235) ~[seatunnel-starter.jar:3.0.0] ``` ### Zeta or Flink or Spark Version _No response_ ### Java or Scala Version _No response_ ### Screenshots _No response_ ### Are you willing to submit PR? - [ ] Yes I am willing to submit a PR! ### Code of Conduct - [x] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- 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. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
