-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Travis builds timing out due to module tests running > 10 mins #1198
Comments
I've been thinking about reducing the number of test classes to make tests run faster. When I run tests locally, the Spark start-up phase seems to take a long time, and we start a new session in lots of different tests. By merging some of those tests together, we could avoid that cost, making tests faster and not hitting this timeout issue. |
I don't mind too much if tests take a little long to run, especially on travis. It doesn't hamper my dev cycle where I mostly run specific tests while I'm developing and testing my changes. For travis to not time out can we simply print standard error and standard out on the console through Gradle? This will dump the logs when running the tests. The configuration for enabling that is
And we should be able to enable this configuration on Travis by checking Travis specific env variables, if this produces too much noise on our local machines. |
Enabling stdout and stderr will produce way too much noise in the Jenkins log. If we have to go by the approach of making Gradle print something, printing the test name it ran (suggestion No. 4 from the original post) is pretty straightforward. If a single test method is taking > 10 mins, it is not an ideal test case. |
I opened a PR with option 4: #1210 |
Fixed by #1210. Thanks for finding all of the options to fix this, @shardulm94! |
Travis kills a build when there is no output received from the build for 10 mins. As we grow our test cases (especially Spark), we will hit this timeout limit as Gradle by default does not produce an output if tests are working as intended.
I hit this issue in #1189 when I updated read tests to also test the vectorized codepaths. https://travis-ci.org/github/apache/iceberg/jobs/707083672#L1408. The spark2 module tests seem to run for > 10 mins now on Travis nodes.
There are a few ways I think we can tackle this issue.
travis_wait
as recommended by Travis for long running tasks. https://docs.travis-ci.com/user/common-build-problems/#build-times-out-because-no-output-was-received The issue I have withtravis_wait
is that it suppresses the log from the child command till it is complete. Also timeout supplied totravis_wait
is for the whole child command (in our case./gradlew check
which already takes about 20 minutes today.travis_jigger
command which does a similar thing (and can have a timeout too)iceberg/build.gradle
Line 120 in 063f926
The text was updated successfully, but these errors were encountered: