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]
