DanielLeens commented on PR #11780:
URL: https://github.com/apache/seatunnel/pull/11780#issuecomment-5357926179

   我重新核对了当前 head `cfe2ab9` 的失败 CI,这次不是 flaky,而是一个确定性的恢复链路回归。当前失败点和现有 review 
里分析的一致:
   
   - `IncrementalSourceReader` 会无条件把 `checkpointTables` 交给 collector 做 
`restoreSchema(...)`
   - 但 
`SeaTunnelRowDebeziumDeserializeSchema#restoreCheckpointProducedType(...)` 在 
`schemaChangeResolver == null` 的方言上会直接 return
   - 这样 Postgres / OpenGauss / MongoDB 这类没有 `SchemaChangeResolver` 的 CDC 
方言,在恢复后会出现“deserializer 用新 schema、collector 被拉回旧 schema”的不一致,进而在当前 CI 里打出 
`NullPointerException` / 行宽不匹配相关失败
   
   我这边已经基于当前 PR head 准备了一个最小辅助修复,并推到了 Daniel 的辅助分支,供你直接 review / cherry-pick:
   
   - branch: `DanielLeens:codex/fix-pr11780-resolver-gate-20260820`
   - commit: `01fbe370236aadd358ec7ee99f5f9df610479e3d`
   
   这个补丁只做了一件事:
   - 只有在 `debeziumDeserializationSchema.getSchemaChangeResolver() != null` 时,才把 
`checkpointTables` 继续交给 collector 恢复
   
   这样可以让 collector 侧和 deserializer 侧保持同一门禁条件,避免无 resolver 方言在恢复时被错误地拉回旧 schema。
   
   我在辅助分支上已经跑过最小本地校验:
   - `./mvnw spotless:apply -pl 
seatunnel-connectors-v2/connector-cdc/connector-cdc-base -am -nsu`
   - `git diff --check`
   
   如果你方便的话,麻烦你 review 一下这个补丁,并把它同步到你的 PR 分支;同步后这次当前 head 的确定性恢复回归可以先消掉,我们再继续看剩余 
gate。谢谢你持续跟进这个 PR。
   


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