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]

Reply via email to