davidzollo opened a new pull request, #12479:
URL: https://github.com/apache/seatunnel/pull/12479

   ## What does this PR do?
   
   Fix the Flink source-coordinator serialization failure when the runtime 
Debezium `TableId` is not serializable.
   
   The CDC deserialization schema now writes table-history keys as stable 
identifiers during Java serialization and reconstructs `TableId` keys on read. 
Its public checkpoint-history contract and normal CDC record processing are 
unchanged.
   
   ## Root cause
   
   The table-history cache was a `HashMap<TableId, byte[]>`. The source tree 
contains a serializable `TableId` copy introduced by #10335, but the failing 
OceanBase Flink E2E loads Debezium 1.9 at runtime, whose `TableId` is not 
serializable. Flink therefore fails while serializing the source coordinator 
before the job starts.
   
   ## Test
   
   - Added a round-trip test that explicitly fails if any `TableId` reaches the 
Java serialization stream, while asserting restored history remains accessible 
by the original table key.
   - Ran `./mvnw spotless:apply` and `./mvnw spotless:check` for 
`connector-cdc-base` with `-nsu -Dmaven.gitcommitid.skip=true`.
   - Unit and integration tests were not run locally under the SeaTunnel 
verification policy; GitHub CI is the runtime validation source.


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