Skip to content

revert [SPARK-10030] Use tags to control which tests to run depending on changes being tested #20310

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

Closed
wants to merge 1 commit into from

Conversation

cloud-fan
Copy link
Contributor

What changes were proposed in this pull request?

This PR reverts #8775

The problem is that, when we change the code in Spark core, we may break yarn test, so we should run yarn test even we didn't change code in the yarn module. We broke the build because of this issue in #20223

How was this patch tested?

N/A

@cloud-fan
Copy link
Contributor Author

cloud-fan commented Jan 18, 2018

cc @vanzin @sameeragarwal @JoshRosen

@SparkQA
Copy link

SparkQA commented Jan 18, 2018

Test build #86321 has finished for PR 20310 at commit 47687bb.

  • This patch fails to build.
  • This patch merges cleanly.
  • This patch adds no public classes.

@JoshRosen
Copy link
Contributor

Are you sure that we want to blanket revert this entire patch? Is there a more surgical short-term fix we can make in dev/sparktestsupport/modules.py to just always unconditionally enable the tag for now?

Also, is this the first time recently that we've failed the YARN integration tests? How much time do they add?

The trade off here seems to be between slightly slower after-the-fact detection of a test failure / build break due to YARN vs. faster tests for the majority of PRs that don't touch YARN code. I think we've had one or two such breaks in the 2+ years that we've been using these test tags, so I'd also be fine with postponing this change if you agree that it's unlikely that we're going to have many such failures here.

If the motivation is that it's hard to test the fix for such build breaks (because the failing test wouldn't be exercised in the PR builder) then I think we might already have a solution via special tags placed into the PR title (I think test-yarn or something similar; see run-tests-jenkins.py).

@cloud-fan
Copy link
Contributor Author

We want a way to test yarn for the new fix: #20297

I checked run-tests-jenkins.py and seems we only support test-maven, test-hadoop2.6 and test-hadoop2.6. It will be good if we have a test-yarn and then we don't need this patch.

@TagAnnotation
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE})
public @interface DockerTest { }
Copy link
Contributor Author

Choose a reason for hiding this comment

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

We don't use this docker tag in modules.py, does it mean we never run docker tests in PR builder?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

if it is, we should preserve this behavior.

Copy link
Contributor

Choose a reason for hiding this comment

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

If you search through the commit history, I'm pretty sure that we originally tried running those DockerTests on RISELAB Jenkins but ran into problems with the Docker Daemon becoming unstable under heavy build load. This should be fixed in the newer-generation Ubuntu build workers, but we haven't quite finished migrating the PRBs onto those.

Given this, my hunch is that those tests aren't running anywhere right now, which isn't great. I think they're primarily used for testing JDBC data source SQL dialect mappings. It's been a year or more since I last looked into this, though, so I might be misremembering.

@SparkQA
Copy link

SparkQA commented Jan 18, 2018

Test build #86325 has finished for PR 20310 at commit ac77bb4.

  • This patch fails to build.
  • This patch merges cleanly.
  • This patch adds no public classes.

@SparkQA
Copy link

SparkQA commented Jan 18, 2018

Test build #86333 has finished for PR 20310 at commit b6c46b5.

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

@vanzin
Copy link
Contributor

vanzin commented Jan 18, 2018

@cloud-fan

We want a way to test yarn for the new fix: 20297

In that case we're ok because that fix touches YARN code, so YARN tests are running.
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/86289/testReport/org.apache.spark.deploy.yarn/

@vanzin
Copy link
Contributor

vanzin commented Jan 18, 2018

To answer one of Josh's question, from the link above, it seems the YARN integration tests currently add ~5m to the PRB time. That doesn't sound too horrible, but would potentially make current timeout issues worse since we seem to be brushing against the existing limit already.

@cloud-fan cloud-fan closed this Feb 8, 2018
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