JingsongLi commented on PR #9094: URL: https://github.com/apache/paimon/pull/9094#issuecomment-5214526709
Thanks for catching this. Addressed in `b3e73b725d`. For Flink, I chose to constrain the unsupported combination instead of advertising `ChangelogMode.all()`: the default Paimon source does not actually produce `UPDATE_BEFORE`, so claiming a full changelog would make downstream aggregations incorrect. A nullable-primary-key streaming read now fails early with a clear instruction to configure a full changelog producer (for example, `changelog-producer=input`). Insert-only reads such as `merge-engine=first-row` remain supported. I added both a direct changelog-mode test and a Flink planner IT case covering the rejected default path and the supported `input` path, documented the limitation, and verified the tests with both the Flink 1.x and Flink 2.x profiles. For Rust and C++, agreed that schema normalization and cross-implementation interchange coverage are still needed. I will coordinate those as follow-up work so this PR can remain focused on the Java/PyPaimon/Flink implementation. -- 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]
