[GLUTEN-11550][VL] Enable GlutenLogicalPlanTagInSparkPlanSuite (150/150 tests)#11833
Open
baibaichen wants to merge 1 commit intoapache:mainfrom
Open
[GLUTEN-11550][VL] Enable GlutenLogicalPlanTagInSparkPlanSuite (150/150 tests)#11833baibaichen wants to merge 1 commit intoapache:mainfrom
baibaichen wants to merge 1 commit intoapache:mainfrom
Conversation
|
Run Gluten Clickhouse CI on x86 |
7c5a4a6 to
32ab1f2
Compare
|
Run Gluten Clickhouse CI on x86 |
32ab1f2 to
5777d02
Compare
|
Run Gluten Clickhouse CI on x86 |
5777d02 to
6a8f205
Compare
|
Run Gluten Clickhouse CI on x86 |
6a8f205 to
88a4cfa
Compare
|
Run Gluten Clickhouse CI on x86 |
Root cause: Gluten's offload rules replace Spark physical plan nodes with Transformer nodes but don't propagate LOGICAL_PLAN_TAG. This tag is used by Spark's LogicalPlanTagInSparkPlanSuite to verify logical-physical plan linkage. Three core fixes: 1. LegacyOffload: propagate LOGICAL_PLAN_TAG from original node to offloaded Transformer node using setTagValue (non-recursive to avoid tagging Exchange). 2. HeuristicTransform.Simple: same tag propagation for the simple offload path. 3. PushDownFilterToScan: copyTagsFrom when creating new scan via withNewPushdownFilters (case class copy loses tags). Test suite overrides checkGeneratedCode with Gluten-aware version that: - Recognizes Transformer node types (joins, aggregates, windows, scans, etc.) - For scan trees, finds logical plan tag from any node in the tree (not just root), since rewrite rules may create new Project/Filter without tags. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
88a4cfa to
371a213
Compare
|
Run Gluten Clickhouse CI on x86 |
Contributor
Author
|
@zhztheplayer please review |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes were proposed in this pull request?
Enable
GlutenLogicalPlanTagInSparkPlanSuitewhich was disabled (RUN ABORTED) on Spark 4.0/4.1. All 150 TPCDS queries now pass.Root cause: Gluten's offload rules replace Spark physical plan nodes with Transformer nodes but don't propagate
LOGICAL_PLAN_TAG. This tag links physical nodes back to their logical plan origins and is used by AQE, explain, and fallback reporting. Spark'sLogicalPlanTagInSparkPlanSuite(extendsTPCDSQuerySuite) verifies this linkage across all 150 TPCDS queries.Core fixes (3 files in
gluten-core/gluten-substrait):OffloadSingleNode.offloadAndPropagateTag: new helper that offloads a node and propagatesLOGICAL_PLAN_TAGusingsetTagValue(non-recursive, to avoid incorrectly tagging Exchange nodes).LegacyOffload/HeuristicTransform.Simple: useoffloadAndPropagateTaginstead of barerule.offload.PushDownFilterToScan:copyTagsFromafterwithNewPushdownFilters(case classcopy()loses tags).Test suite changes (2 files, identical for spark40/spark41):
checkGeneratedCodewith Gluten-awarecheckGlutenLogicalPlanTagthat recognizes Transformer node types (joins, aggregates, windows, scans, exchanges, etc.).How was this patch tested?
GlutenTPCDSQuerySuite: 150/150 passed (no regression from core changes)GlutenCollapseProjectExecTransformerSuite: 1/1 passed (tag preservation verified)Related issue: #11550