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-31819][K8S][DOCS][TESTS][2.4] Add a workaround for Java 8u251+/K8s 1.17 and update integration test cases #28638

Closed
wants to merge 1 commit into from

Conversation

dongjoon-hyun
Copy link
Member

@dongjoon-hyun dongjoon-hyun commented May 26, 2020

What changes were proposed in this pull request?

This PR aims to add a workaround HTTP2_DISABLE=true to the document and to update the K8s integration test.

Why are the changes needed?

SPARK-31786 reported fabric8 kubernetes-client library fails to talk K8s 1.17.x client on Java 8u251+ environment. It's fixed at Apache Spark 3.0.0 by upgrading the library, but it turns out that we can not use the same way in branch-2.4 (#28625)

Does this PR introduce any user-facing change?

Yes. This will provide a workaround at the document and testing environment.

How was this patch tested?

This PR is irrelevant to Jenkins UT because it's only updating docs and integration tests. We need to the followings.

K8s v1.17.6 / JDK 1.8.0_252

KubernetesSuite:
- Run SparkPi with no resources
- Run SparkPi with a very long application name.
- Use SparkLauncher.NO_RESOURCE
- Run SparkPi with a master URL without a scheme.
- Run SparkPi with an argument.
- Run SparkPi with custom labels, annotations, and environment variables.
- Run extraJVMOptions check on driver
- Run SparkRemoteFileTest using a remote data file
- Run SparkPi with env and mount secrets.
- Run PySpark on simple pi.py example
- Run PySpark with Python2 to test a pyfiles example
- Run PySpark with Python3 to test a pyfiles example
- Run PySpark with memory customization
- Run in client mode.
Run completed in 5 minutes, 7 seconds.
Total number of tests run: 14
Suites: completed 2, aborted 0
Tests: succeeded 14, failed 0, canceled 0, ignored 0, pending 0
All tests passed.

@SparkQA
Copy link

SparkQA commented May 26, 2020

Test build #123107 has finished for PR 28638 at commit 1b1d869.

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

@dongjoon-hyun
Copy link
Member Author

cc @holdenk since she is a release manager for 2.4.6.
cc @dbtsai , too.

@SparkQA
Copy link

SparkQA commented May 26, 2020

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/27741/

@SparkQA
Copy link

SparkQA commented May 26, 2020

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/27741/

@dongjoon-hyun dongjoon-hyun changed the title [SPARK-31819][K8S][DOCS][TESTS] Add a workaround for Java 8u251+ and update integration test cases [SPARK-31819][K8S][DOCS][TESTS] Add a workaround for Java 8u251+/K8s 1.17 and update integration test cases May 26, 2020
@dongjoon-hyun dongjoon-hyun changed the title [SPARK-31819][K8S][DOCS][TESTS] Add a workaround for Java 8u251+/K8s 1.17 and update integration test cases [SPARK-31819][K8S][DOCS][TESTS][2.4] Add a workaround for Java 8u251+/K8s 1.17 and update integration test cases May 26, 2020
@dbtsai
Copy link
Member

dbtsai commented May 26, 2020

LGTM. Thanks.

@dongjoon-hyun
Copy link
Member Author

Thank you. Merged to branch-2.4

dongjoon-hyun added a commit that referenced this pull request May 26, 2020
…/K8s 1.17 and update integration test cases

### What changes were proposed in this pull request?

This PR aims to add a workaround `HTTP2_DISABLE=true` to the document and to update the K8s integration test.

### Why are the changes needed?

SPARK-31786 reported fabric8 kubernetes-client library fails to talk K8s 1.17.x client on Java 8u251+ environment. It's fixed at Apache Spark 3.0.0 by upgrading the library, but it turns out that we can not use the same way in `branch-2.4` (#28625)

### Does this PR introduce _any_ user-facing change?

Yes. This will provide a workaround at the document and testing environment.

### How was this patch tested?

This PR is irrelevant to Jenkins UT because it's only updating docs and integration tests. We need to the followings.
- [x] Pass the Jenkins K8s IT with old JDK8 and K8s versions (#28638 (comment))
- [x] Manually run K8s IT on K8s 1.17/Java 8u251+ with `export HTTP2_DISABLE=true`.

**K8s v1.17.6 / JDK 1.8.0_252**
```
KubernetesSuite:
- Run SparkPi with no resources
- Run SparkPi with a very long application name.
- Use SparkLauncher.NO_RESOURCE
- Run SparkPi with a master URL without a scheme.
- Run SparkPi with an argument.
- Run SparkPi with custom labels, annotations, and environment variables.
- Run extraJVMOptions check on driver
- Run SparkRemoteFileTest using a remote data file
- Run SparkPi with env and mount secrets.
- Run PySpark on simple pi.py example
- Run PySpark with Python2 to test a pyfiles example
- Run PySpark with Python3 to test a pyfiles example
- Run PySpark with memory customization
- Run in client mode.
Run completed in 5 minutes, 7 seconds.
Total number of tests run: 14
Suites: completed 2, aborted 0
Tests: succeeded 14, failed 0, canceled 0, ignored 0, pending 0
All tests passed.
```

Closes #28638 from dongjoon-hyun/SPARK-31819.

Authored-by: Dongjoon Hyun <dongjoon@apache.org>
Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
@dongjoon-hyun dongjoon-hyun deleted the SPARK-31819 branch May 27, 2020 01:44
lresende pushed a commit to jupyter-server/enterprise_gateway that referenced this pull request Jul 16, 2020
A bug in the k8s client relative to Java 8 version used by Spark 2.4.5
crept in since the last test pass. Unfortunately, this wasn't caught 
until EG 2.2.0rc1 had been produced.

These changes workaround the issue that is apparently fixed in Spark 3.0.

cf: apache/spark#28638
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants