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]

Reply via email to