DanielCarter-stack commented on issue #10620: URL: https://github.com/apache/seatunnel/issues/10620#issuecomment-4087604772
<!-- code-pr-reviewer --> I've analyzed the codebase and can confirm this is a real bug. The issue stems from `SingleFieldOutputTransform` reusing the same `SeaTunnelRow` object when the schema doesn't change. **Root cause (confirmed in code):** - `SingleFieldOutputTransform.java:46-52,125` uses `REUSE_ROW` when schema is unchanged - `SeaTunnelRowContainerGenerator.java:27-33` directly returns the same object reference - `SeaTunnelRow.java:35,49-50` is mutable with direct field modification When one source connects to multiple transform chains (your exact topology), they all share the same `SeaTunnelRow` instance. The first chain's modifications (Replace on phone) affect subsequent chains. **Questions to help verify:** 1. Can you share the original data from table `test4_1`? 2. Which table's output is shown in your screenshot - `test4_2` or `test4_3`? This affects version 2.3.12 and current dev branch when using one source → multiple independent transform chains with schema-preserving transforms like Replace. -- 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]
