[KYUUBI #5367] Spark crashes with ClassCastException when resolving a join of masked tables #6012
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.
🔍 Description
Issue References 🔗
This pull request fixes #5092
Spark crashes with ClassCastException when resolving a join of masked tables
Describe Your Solution 🔧
As per @sauliusvl comment in this unfinished PR
Stage0Marker
column ids are not updated on the right side of the join which leads toStage1Marker
being incorrectly applied which in turn causesSo the solution was to copy the scan plan together with the child plan in
withNewChildInternal
method so that column ids are aligned.Types of changes 🔖
Test Plan 🧪
Behavior Without This Pull Request ⚰️
Self join of tables containing masked columns using
joinExprs
arg fails with ClassCastException.Behavior With This Pull Request 🎉
Self join of tables containing masked columns using
joinExprs
arg succeeds.Related Unit Tests
DataMaskingTestBase
Checklist 📝
Be nice. Be informative.