hutiefang76 commented on PR #12578:
URL: https://github.com/apache/seatunnel/pull/12578#issuecomment-6394328894

   @SEZ9, the source follow-ups are already present on unchanged `ef53a70c`:
   
   - **F1/F2:** 
[`setField`](https://github.com/apache/seatunnel/blob/ef53a70c6f72f5f6ae7c31fcc57b541eb3c849f3/seatunnel-api/src/main/java/org/apache/seatunnel/api/table/type/SeaTunnelRow.java#L52-L62)
 assigns the field, then invalidates only under `if (size != 0)`. The volatile 
read remains; the unconditional volatile write during row construction is gone. 
Its Javadoc explicitly excludes direct `getFields()` writes and nested 
mutations.
   - **F2:** The EN/ZH architecture paragraph now sits under **Row Data 
Contract**, between metadata and the runtime walkthrough, and distinguishes 
estimated byte size from serialized wire size: 
[EN](https://github.com/apache/seatunnel/blob/ef53a70c6f72f5f6ae7c31fcc57b541eb3c849f3/docs/en/architecture/core-api-design.md#L177-L181),
 
[ZH](https://github.com/apache/seatunnel/blob/ef53a70c6f72f5f6ae7c31fcc57b541eb3c849f3/docs/zh/architecture/core-api-design.md#L177-L181).
   - **F3/F5:** `testDirectFieldMutationDoesNotInvalidateCachedBytesSize` and 
`testNestedFieldMutationDoesNotInvalidateParentCachedBytesSize` pin the 
limitation and check that explicitly calling the parent setter invalidates the 
estimate afterward.
   - **F4/F5:** `testSetFieldInvalidatesCachedBytesSize` tests both directions 
on the same row: typed pre-warm → setter → untyped read, then untyped pre-warm 
→ setter → typed read. These cases are together in 
[SeaTunnelRowTest](https://github.com/apache/seatunnel/blob/ef53a70c6f72f5f6ae7c31fcc57b541eb3c849f3/seatunnel-api/src/test/java/org/apache/seatunnel/api/table/type/SeaTunnelRowTest.java#L252-L317).
   
   I reran only the failed `Run / engine-v2-it (11, ubuntu-latest)` job from 
the current attempt (`120703017149`). GitHub accepted the request and [attempt 
3](https://github.com/hutiefang76/seatunnel/actions/runs/39775915510/attempts/3)
 is queued on the same head. No source or test changes were made for the 
checkpoint timeout. If the retry times out in the same way, I will link the 
result and stop there. As you noted, this fork run does not supply the PR-bound 
`Build` check; the failed upstream `Notify test workflow` still needs a 
maintainer retry.
   
   <sub>AI-assisted reply (Codex), checked against the linked revision.</sub>
   


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