-
Notifications
You must be signed in to change notification settings - Fork 28k
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-42215][CONNECT] Simplify Scala Client IT tests #40274
Conversation
The full error (even with the clean master branch):
|
@@ -76,7 +76,8 @@ class ClientE2ETestSuite extends RemoteSparkSession { | |||
assert(result(2) == 2) | |||
} | |||
|
|||
test("simple udf") { | |||
// Ignore this test until the udf is fully implemented. | |||
ignore("simple udf") { |
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.
Would you mind ignore this one in a in an independent pr first?
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.
I created SPARK-42665 yesterday because it still test fail in 3.4.0 RC2 and be reported in the dev mail list
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.
cc @hvanhovell should we ignore this test first? Maven test must fail due to the function is org.apache.spark.sql.ClientE2ETestSuite$$Lambda$XXX
, but there is no org.apache.spark.sql.ClientE2ETestSuite
in server side when test using maven.
Thanks for your work @zhenlineo |
In the pr description, |
On the whole, it is good for me. There is only one question. Spark still uses maven for version release and deploy. But after this pr, the E2E test change to use sbt assembly server jar instead of maven shaded server jar for testing, which may weaken the maven test. We may need other ways to ensure the correctness of maven shaded server jar. In the future, we may use sbt to completely replace maven(should not be in Spark 3.4.0), including version release, deploy and other help tools, which will no longer be a problem at that time. |
There is another problem that needs to be confirmed, which may not related to current pr: if other Suites inherit |
@LuciferYang Thanks for your review. This PR was trying to simplify the test running steps. But as you said it make the maven commands to call sbt implicitly. I will split the changes into smaller PRs to allow this PR only deal with the IT command change. Then we can votes if we like this change or not :) |
ba43059
to
d1738ac
Compare
seems
|
d1738ac
to
874bc67
Compare
Yeah, this was caused by the bug we had in the scripts. |
@hvanhovell Want to keep this or shall we skip? It helps a bit when not knowing |
What changes were proposed in this pull request?
Make use of the new spark-connect script to make the Scala client test to not directly depends on any other modules.
The dependency is still there but hidden by the spark-connect script. When calling the script to start the server, the script performs a
build/sbt package
to ensure all the jars are build and can be found in the correct path.After the change, we can use the following commands to run the Scala client tests:
Scala 2.13
After the change, the waiting time to run the E2ESuite is ~3min for a clean build. Then ~1min for subsequent runs. The test is slower only because we moved the build time from many commands to this single command. There is no limitations to add more tests as the delay is only caused by the shared server start time. Once the server is started, the tests run fast.
Why are the changes needed?
A single command for maven users to mvn clean install to run tests and build.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Build, Manual tests.