adriangb commented on PR #24167:
URL: https://github.com/apache/datafusion/pull/24167#issuecomment-5220089825

   Thanks @andygrove — you were right to push on this, and it turned out better 
than a spot check.
   
   `SortPreservingMergeExec` has no round-trip test at all: the string 
`SortPreservingMerge` doesn't appear anywhere in `roundtrip_physical_plan.rs`. 
I checked the other 16 plans this PR touches and each has at least one 
dedicated `roundtrip_*` test, so it looks like an isolated gap rather than a 
systemic one — but it went unnoticed for a long time.
   
   Digging in also surfaced a second, more structural problem: `roundtrip_test` 
asserts on `format!("{plan:?}")`, so it can't detect a dropped field that a 
plan's `Debug` impl doesn't print. That's exactly how the `HashJoinExec::fetch` 
bug in #24165 survived — with the encode side deliberately reverted, the Debug 
comparison still passes and only a direct `fetch()` assertion fails. So 
"covered by existing round-trip tests" can be true while a field is silently 
unserialized.
   
   I've filed #24171 for both, and I'm splitting the test work into its own PR 
based on `main` rather than adding it here, so this mechanical destructuring 
change stays reviewable on its own. A side benefit: since those tests sit on 
`main` *before* the refactor, they pin the current wire behaviour 
independently, which makes this PR's "wire format unchanged" claim verifiable 
rather than just asserted.
   
   I've also corrected the description above — the original "covered by 
existing round-trip tests" oversold it.
   
   Do you have a preference on sequencing: land the test PR first so this one 
merges against proven coverage, or does the order not matter to you?
   


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to