Skip to content
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

[SPARK-11647] Attempt to reduce time/flakiness of Thriftserver CLI and SparkSubmit tests #9623

Closed
wants to merge 1 commit into from

Conversation

JoshRosen
Copy link
Contributor

This patch aims to reduce the test time and flakiness of HiveSparkSubmitSuite, SparkSubmitSuite, and CliSuite.

Key changes:

  • Disable IO synchronization calls for Derby writes, since durability doesn't matter for tests. This was done for HiveCompatibilitySuite in [SPARK-8106] [SQL] Set derby.system.durability=test to speed up Hive compatibility tests #6651 and resulted in huge test speedups.
  • Add a few missing --confs to disable various Spark UIs. The CliSuite, in particular, never disabled these UIs, leaving it prone to port-contention-related flakiness.
  • Fix two instances where tests defined beforeAll() methods which were never called because the appropriate traits were not mixed in. I updated these tests suites to extend BeforeAndAfterEach so that they play nicely with our ResetSystemProperties trait.

@SparkQA
Copy link

SparkQA commented Nov 11, 2015

Test build #45615 has finished for PR 9623 at commit 801afe7.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds the following public classes (experimental):\n * class CliSuite extends SparkFunSuite with BeforeAndAfterAll with Logging\n

@JoshRosen
Copy link
Contributor Author

With this patch, CliSuite takes ~2 minutes vs. 6-7 minutes normally.

Similarly, HiveSparkSubmitSuite took ~2 minutes vs. 5+ normally.

@JoshRosen JoshRosen changed the title [SPARK-11647][WIP] Attempt to reduce time/flakiness of Thriftserver CLI and SparkSubmit tests [SPARK-11647] Attempt to reduce time/flakiness of Thriftserver CLI and SparkSubmit tests Nov 11, 2015
override def beforeEach(): Unit = {
super.beforeEach()
System.setProperty("spark.testing", "true")
Copy link
Contributor

Choose a reason for hiding this comment

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

what's the difference between having it in beforeEach and beforeAll for this specific config?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think it's marginally easier to reason about the interaction between BeforeAndAfterEach and ResetSystemProperties.

@rxin
Copy link
Contributor

rxin commented Nov 11, 2015

LGTM

@rxin
Copy link
Contributor

rxin commented Nov 11, 2015

Thanks - merging this.

asfgit pushed a commit that referenced this pull request Nov 11, 2015
…d SparkSubmit tests

This patch aims to reduce the test time and flakiness of HiveSparkSubmitSuite, SparkSubmitSuite, and CliSuite.

Key changes:

- Disable IO synchronization calls for Derby writes, since durability doesn't matter for tests. This was done for HiveCompatibilitySuite in #6651 and resulted in huge test speedups.
- Add a few missing `--conf`s to disable various Spark UIs. The CliSuite, in particular, never disabled these UIs, leaving it prone to port-contention-related flakiness.
- Fix two instances where tests defined `beforeAll()` methods which were never called because the appropriate traits were not mixed in. I updated these tests suites to extend `BeforeAndAfterEach` so that they play nicely with our `ResetSystemProperties` trait.

Author: Josh Rosen <joshrosen@databricks.com>

Closes #9623 from JoshRosen/SPARK-11647.

(cherry picked from commit 2d76e44)
Signed-off-by: Reynold Xin <rxin@databricks.com>
@asfgit asfgit closed this in 2d76e44 Nov 11, 2015
@JoshRosen JoshRosen deleted the SPARK-11647 branch November 11, 2015 23:50
dskrvk pushed a commit to dskrvk/spark that referenced this pull request Nov 13, 2015
…d SparkSubmit tests

This patch aims to reduce the test time and flakiness of HiveSparkSubmitSuite, SparkSubmitSuite, and CliSuite.

Key changes:

- Disable IO synchronization calls for Derby writes, since durability doesn't matter for tests. This was done for HiveCompatibilitySuite in apache#6651 and resulted in huge test speedups.
- Add a few missing `--conf`s to disable various Spark UIs. The CliSuite, in particular, never disabled these UIs, leaving it prone to port-contention-related flakiness.
- Fix two instances where tests defined `beforeAll()` methods which were never called because the appropriate traits were not mixed in. I updated these tests suites to extend `BeforeAndAfterEach` so that they play nicely with our `ResetSystemProperties` trait.

Author: Josh Rosen <joshrosen@databricks.com>

Closes apache#9623 from JoshRosen/SPARK-11647.
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.

3 participants