fix: report Input column when native Iceberg scan is enabled or native shuffle is enabled - #5265
fix: report Input column when native Iceberg scan is enabled or native shuffle is enabled#5265hsiang-c wants to merge 6 commits into
Input column when native Iceberg scan is enabled or native shuffle is enabled#5265Conversation
47de16e to
e103ba1
Compare
Input column when native Iceberg scan is enabled or native shuffle is enabled
|
Thanks for tracking this one down. The diagnosis looks right to me. I traced the shuffle path as well, and A few things I would like your thoughts on. The comment overstates what CSV contributes
So CSV scans still report nothing after this change. The The gate now depends on a filter in another classThe comment justifies the broad match by saying hasScanInput = sparkPlans.exists(p =>
p.isInstanceOf[CometLeafExec] && p.metrics.contains("bytes_scanned"))That says what it means without the cross-class reasoning. It still picks up contrib scans without a compile-time reference, which was the original motivation for matching on the base class. It also avoids registering a task-completion listener for plans where there is nothing to report, and it would let the comment shrink to a line or two. Test duplicationThese are good tests. Asserting the plan shape before the metrics is the right call, and the note about pinning Between these two and the existing Listener asymmetry between the two new testsThe listener in the fused-block test filters on A follow-up, not something for this PR
CIThe head commit does not have any check runs yet. The previous commit was green, 28 success and 2 skipped, and that run did include the I used an LLM to help work through this review. Please treat the points above as a starting point rather than a checklist. You are much closer to this code than I am, so use your judgement on which ones are worth acting on and push back or just reply in the thread on any you disagree with. |
Which issue does this PR close?
Closes #5264
Rationale for this change
0.0Bfor theInputcolumn of the executor tab.What changes are included in this PR?
CometIcebergNativeScanExecis a sibling ofCometNativeScanExecunderCometLeafExec. So the old check only recognizes the Parquet leaf, andNativeExecContext.hasScanInputwas false for Iceberg (and CSV, and contributed Delta) scans.How are these changes tested?
Unit tests
SELECT id+1— scan fused under a native parent, parent'sdoExecuteColumnar→executeColumnarWithContextrepartition(4, id)— scan inlined under the writerRunning the same job again with the patch,
Inputcolumn show values now: