andygrove opened a new pull request, #3966:
URL: https://github.com/apache/datafusion-comet/pull/3966

   ## Which issue does this PR close?
   
   Diagnostic probe for a customer-reported issue following #3879. No issue 
filed yet.
   
   ## Rationale for this change
   
   A customer reports a plan in which Spark's `ColumnarToRowExec` ends up 
wrapping a child whose `supportsColumnar == false`. The initial plan (before 
AQE) is clean; the bad shape emerges after AQE re-planning. The bug has not 
been reproduced locally across several configuration sweeps.
   
   This draft adds a diagnostic assertion so the bad plan fails loudly on the 
driver with the full offending subtree in the message, instead of surfacing as 
a runtime symptom that is hard to trace back.
   
   **Not intended for merge.** Once we have the failure output we can pick a 
targeted fix and drop this assertion.
   
   ## What changes are included in this PR?
   
   `EliminateRedundantTransitions.apply` now walks the post-rule plan and 
throws `IllegalStateException` if any of the following wraps a non-columnar 
child:
   
   - Spark's `ColumnarToRowExec`
   - `CometColumnarToRowExec`
   - `CometNativeColumnarToRowExec`
   
   The exception message includes the offending child's class name and the full 
`treeString` of the plan.
   
   ## How are these changes tested?
   
   Built against `main` and exercised the repro sweep locally (DPP + AQE, V1/V2 
sources, skew/coalesce, chained joins). All existing tests in the sweep pass — 
the assertion does not fire on clean plans.
   
   The intent is for the customer to apply this patch and re-run their failing 
query so we can capture the offending plan shape.


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