SEPURI-SAI-KRISHNA commented on issue #12405:
URL: https://github.com/apache/seatunnel/issues/12405#issuecomment-5748103671
Thanks for the report, @zixiao144. This reproduces from the code alone, with
no broker needed, so I have opened #12406 with a fix. If you would rather
submit it yourself, say so and I will close mine.
**Root cause.** `MqttSource` is a `SeaTunnelSource`, and `SeaTunnelSource`
extends `Serializable` (`SeaTunnelSource.java:39`). It holds its configuration
as a field:
```java
public class MqttSource extends AbstractSingleSplitSource<SeaTunnelRow> {
private final MqttSourceConfig sourceConfig; // MqttSource.java:38
```
but the configuration class does not implement `Serializable`:
```java
public class MqttSourceConfig { //
MqttSourceConfig.java:24
```
So Zeta cannot serialize the logical DAG, and Hazelcast reports that as the
`LogicalVertex` failure you saw. Serializing an `MqttSource` on current `dev`
(`5f7f5c1d`) fails with:
```
java.io.NotSerializableException:
org.apache.seatunnel.connectors.seatunnel.mqtt.source.MqttSourceConfig
```
Every field of that class is a `String`, `int` or `boolean`, so nothing
about its contents is the problem. Only the class declaration is missing, and
adding `implements Serializable` is enough.
**The JDBC sink is not involved.** I checked the MQTT sink as well: it holds
`ReadonlyConfig`, `SeaTunnelRowType` and `CatalogTable`, all already
serializable, and round-trips fine. Only the source path is broken, so the same
failure should occur with any sink, not just Jdbc.
**Why it went unnoticed.** The connector has an E2E module, but it contains
only `MqttSinkIT`. There is no source IT, so the only end-to-end coverage
exercises the side that works. The source appears to have been in this state
since it was added in #10935 on 2026-06-08.
The PR adds a regression test to the existing `MqttSourceTest` that writes
an `MqttSource` through an `ObjectOutputStream`. It fails with the exception
above on unmodified `dev` and passes with the change.
--
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]