Skip to content

Conversation

@dilipbiswal
Copy link
Contributor

What changes were proposed in this pull request?

After 23750, we may pushdown left anti joins below aggregate and window operators with a partial join condition. This is not correct and was pointed out by @hvanhovell and @cloud-fan here. This pr addresses their comments.

How was this patch tested?

Added two new tests to verify the behaviour.

@SparkQA
Copy link

SparkQA commented Mar 31, 2019

Test build #104118 has finished for PR 24253 at commit 508a39c.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@dilipbiswal
Copy link
Contributor Author

@cloud-fan @hvanhovell

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shall we move the part of the comments about diffrent join type to

joinType match {
  case LeftSemi => Filter(stayUp.reduce(And), newAgg)
  case _ => join
}

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cloud-fan Ok.. sounds good.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how about

joinType match {
  // In case of left-semi join, ...
  case LeftSemi => Filter(stayUp.reduce(And), newPlan)
  // In case of left-anti join, ...
  case _ => join

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cloud-fan I think it would look a bit crowded :-). The actual code may look buried within the comment. Let me give it a try and we can a take a call after ..

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cloud-fan Just made the change... Let me know if looks okay to you.

@SparkQA
Copy link

SparkQA commented Apr 1, 2019

Test build #104157 has finished for PR 24253 at commit 736710c.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@SparkQA
Copy link

SparkQA commented Apr 1, 2019

Test build #104158 has finished for PR 24253 at commit 5037d51.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we restore this comment now? I think the old version is pretty good.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

@SparkQA
Copy link

SparkQA commented Apr 1, 2019

Test build #104164 has finished for PR 24253 at commit 4851daf.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@cloud-fan
Copy link
Contributor

@dilipbiswal Did we cover all the places? in pushDownJoin seems we still push down partial join?

@dilipbiswal
Copy link
Contributor Author

@cloud-fan Thanks a lot. I did miss it. Let me look into it.

@SparkQA
Copy link

SparkQA commented Apr 2, 2019

Test build #104179 has finished for PR 24253 at commit 82112a8.

  • This patch fails Spark unit tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@dilipbiswal dilipbiswal force-pushed the SPARK-19712-followup branch from 82112a8 to 72a4552 Compare April 2, 2019 07:07
@dongjoon-hyun
Copy link
Member

Oh, the root cause of UT failures seems to be another commit on the master branch.

@dilipbiswal
Copy link
Contributor Author

@dongjoon-hyun Thank you. Will the current run fail as well ?

@dongjoon-hyun
Copy link
Member

I guess so.

@dilipbiswal
Copy link
Contributor Author

@dongjoon-hyun ok.. thanks a lot for letting me know :-)

@dongjoon-hyun
Copy link
Member

Retest this please.

@SparkQA
Copy link

SparkQA commented Apr 2, 2019

Test build #104192 has finished for PR 24253 at commit 72a4552.

  • This patch fails Spark unit tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@SparkQA
Copy link

SparkQA commented Apr 2, 2019

Test build #104196 has finished for PR 24253 at commit 72a4552.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@cloud-fan
Copy link
Contributor

thanks, merging to master!

@cloud-fan cloud-fan closed this in b8b5acd Apr 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants