apache / apache/seatunnel

[Bug] [imap] After upgrading to 2.3.12, the IMAP entity class has changed, making it impossible to parse the tasks that were running in the previous version.

Open
#9,928 7 comments 0 reactions 1 assignee Claimed by @zhangshenghang View on GitHub
bug help wanted
Dominant language
Java
Stars
9.7k
Forks
2.4k
Avg merge
3d 9h
Merged PRs (30d)
204

Description

### 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

Old version: 2.3.10
New version: 2.3.12
Description: We ran a large number of streaming tasks on version 2.3.10. After upgrading to 2.3.12, an error occurred while parsing imap during the startup process.

### SeaTunnel Version

2.3.12

### SeaTunnel Config

```conf
An error occurred during the service startup process
```

### Running Command

```shell
/opt/seatunnel/bin/seatunnel-cluster.sh -r master
```

### Error Exception

```log
`[] 2025-10-01 13:45:20,101 WARN [h.m.i.r.BasicRecordStoreLoader] [hz.main.cached.thread-13] - [172.16.0.2]:5801 [seatunnel] [5.1] Could not load keys from map store
2025-10-01 21:45:20 org.apache.seatunnel.engine.imap.storage.api.exception.IMapStorageException: deserialize data error, class name is {}
2025-10-01 21:45:20 at org.apache.seatunnel.engine.imap.storage.file.common.WALReader.deserializeData(WALReader.java:127) ~[seatunnel-starter.jar:2.3.12]
2025-10-01 21:45:20 at org.apache.seatunnel.engine.imap.storage.file.common.WALReader.loadAllData(WALReader.java:108) ~[seatunnel-starter.jar:2.3.12]
2025-10-01 21:45:20 at org.apache.seatunnel.engine.imap.storage.file.IMapFileStorage.loadAll(IMapFileStorage.java:238) ~[seatunnel-starter.jar:2.3.12]
2025-10-01 21:45:20 at org.apache.seatunnel.engine.server.persistence.FileMapStore.loadAll(FileMapStore.java:87) ~[seatunnel-starter.jar:2.3.12]
2025-10-01 21:45:20 at com.hazelcast.map.impl.MapStoreWrapper.loadAll(MapStoreWrapper.java:175) ~[seatunnel-starter.jar:2.3.12]
2025-10-01 21:45:20 at com.hazelcast.map.impl.mapstore.AbstractMapDataStore.loadAll(AbstractMapDataStore.java:59) ~[seatunnel-starter.jar:2.3.12]
2025-10-01 21:45:20 at com.hazelcast.map.impl.recordstore.BasicRecordStoreLoader.loadAndGet(BasicRecordStoreLoader.java:216) ~[seatunnel-starter.jar:2.3.12]
2025-10-01 21:45:20 at com.hazelcast.map.impl.recordstore.BasicRecordStoreLoader.doBatchLoad(BasicRecordStoreLoader.java:180) ~[seatunnel-starter.jar:2.3.12]
2025-10-01 21:45:20 at com.hazelcast.map.impl.recordstore.BasicRecordStoreLoader.loadValuesInternal(BasicRecordStoreLoader.java:138) ~[seatunnel-starter.jar:2.3.12]
2025-10-01 21:45:20 at com.hazelcast.map.impl.recordstore.BasicRecordStoreLoader.access$100(BasicRecordStoreLoader.java:51) ~[seatunnel-starter.jar:2.3.12]
2025-10-01 21:45:20 at com.hazelcast.map.impl.recordstore.BasicRecordStoreLoader$GivenKeysLoaderTask.call(BasicRecordStoreLoader.java:108) ~[seatunnel-starter.jar:2.3.12]
2025-10-01 21:45:20 at com.hazelcast.internal.util.executor.CompletableFutureTask.run(CompletableFutureTask.java:64) ~[seatunnel-starter.jar:2.3.12]
2025-10-01 21:45:20 at com.hazelcast.internal.util.executor.CachedExecutorServiceDelegate$Worker.run(CachedExecutorServiceDelegate.java:217) ~[seatunnel-starter.jar:2.3.12]
2025-10-01 21:45:20 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_342]
2025-10-01 21:45:20 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_342]
2025-10-01 21:45:20 at java.lang.Thread.run(Thread.java:750) [?:1.8.0_342]
2025-10-01 21:45:20 at com.hazelcast.internal.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:76) ~[seatunnel-starter.jar:2.3.12]
2025-10-01 21:45:20 at com.hazelcast.internal.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:102) ~[seatunnel-starter.jar:2.3.12]
2025-10-01 21:45:20 Caused by: java.lang.ClassNotFoundException: org.apache.seatunnel.engine.core.job.JobStatus
2025-10-01 21:45:20 at java.net.URLClassLoader.findClass(URLClassLoader.java:387) ~[?:1.8.0_342]
2025-10-01 21:45:20 at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_342]
2025-10-01 21:45:20 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352) ~[?:1.8.0_342]
2025-10-01 21:45:20 at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_342]
2025-10-01 21:45:20 at java.lang.Class.forName0(Native Method) ~[?:1.8.0_342]
2025-10-01 21:45:20 at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_342]
2025-10-01 21:45:20 at org.apache.commons.lang3.ClassUtils.getClass(ClassUtils.java:993) ~[hive-exec-3.1.3.jar:3.1.3]
2025-10-01 21:45:20 at org.apache.commons.lang3.ClassUtils.getClass(ClassUtils.java:1059) ~[hive-exec-3.1.3.jar:3.1.3]
2025-10-01 21:45:20 at org.apache.commons.lang3.ClassUtils.getClass(ClassUtils.java:1042) ~[hive-exec-3.1.3.jar:3.1.3]
2025-10-01 21:45:20 at org.apache.seatunnel.engine.imap.storage.file.common.WALReader.deserializeData(WALReader.java:116) ~[seatunnel-starter.jar:2.3.12]
`
```

### 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)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.