-
Notifications
You must be signed in to change notification settings - Fork 28.9k
[SPARK-13891] [SQL] [TEST] Issue Exceptions when Hitting the Max Iteration Limit in Optimizer and Analyzer #11714
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| class BooleanSimplificationSuite extends PlanTest with PredicateHelper { | ||
|
|
||
| object Optimize extends RuleExecutor[LogicalPlan] { | ||
| System.setProperty("spark.testing", "true") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we just change PlanTest?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah, a good idea!
|
Test build #53166 has finished for PR 11714 at commit
|
|
Test build #53173 has finished for PR 11714 at commit
|
|
I will not trigger more tests in this PR until the related PR is merged. Thanks! |
|
I just merged #11682. Are there more? |
|
Test build #53175 has finished for PR 11714 at commit
|
|
Test build #53176 has finished for PR 11714 at commit
|
|
@rxin Yeah. There is another issue. In the predicate push down, we should not push down any predicate if the child's Constraints already contain them. Will submit a PR tonight. |
|
Can you bring this up to date? We can disable rules that make this fail. @marmbrus and I talked a bit and thought this is pretty critical to have. |
|
Sure, will do it now. |
|
@rxin @marmbrus This test build will fail for sure. The first issue is caused by the conflicts of
Another issue is caused by Constraints. The related
|
|
I guess I would prioritize getting this in so that we make sure we don't continue to introduce conflicting rules. If including #11828 in this PR is the fastest path to that where there is agreement, lets just include that here. If we need to delete |
|
Test build #53834 has finished for PR 11714 at commit
|
|
I see. Sure. Let me know if anything I can help. Thanks! |
| */ | ||
| abstract class PlanTest extends SparkFunSuite with PredicateHelper { | ||
|
|
||
| System.setProperty("spark.testing", "true") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is already set by the test framework. MIght be cleaner not to hard code it in just a few places in the tests.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you saying SPARK_TESTING can be set by the test framework?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SPARK_TESTING is an env variable while spark.testing is a JVM system property, but yes both are set by the build for you.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you, will make a try.
|
Test build #53936 has finished for PR 11714 at commit
|
What changes were proposed in this pull request?
This PR is to issue an exception in the unit tests of Spark SQL when hitting the max iteration limit. Then, we can catch the infinite loop bugs in Analyzer and Optimizer.
Will submit separate PRs to fix the root cause that trigger these exceptions. Thanks!
cc @marmbrus
How was this patch tested?
Note: this PR will trigger a lot of failures due to the uncaught issues. For example, one of the issues has been found in #11682