SEZ9 commented on PR #12578: URL: https://github.com/apache/seatunnel/pull/12578#issuecomment-5987182113
Thanks @hutiefang76. The flow you describe for `testSetFieldInvalidatesCachedBytesSize` at `ec14f3a` (measure the `typed` row through `getBytesSize(rowType)`, `setField`, then read the new size through the untyped `getBytesSize()`, with the reverse order on the `untyped` row) is exactly the cross-overload case F4 asked for. I have not re-read the test body itself yet, so I'll confirm F4 against the file at that head rather than mark it resolved from the description alone; if you can paste the relevant assertions here, that will speed it up. If they read as described, they also cover the shared-cache half of F5. On the remaining points: - **F1 / F2:** I'll re-verify the conditional reset in `setField`, the Javadoc on `setField`, and the "Row Data Contract" section in the EN/ZH architecture guides against the diff at `ec14f3a` before closing them out. No action needed from you unless something changed since then. - **F3 / rest of F5 (nested-row / `getFields()` mutation):** still open. Could you add a small case that measures a row, mutates a nested `SeaTunnelRow` field (or writes directly through `getFields()`) without calling `setField`, and asserts the cached size is *not* invalidated? That pins the documented limitation so a future contract change has to update the test deliberately. If an existing test already does this, just point me to its name. Once that case is in (or you point me to an existing one) and I've re-checked the above, I'm good to approve. <!-- streview-comment:1525 --> -- 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]
