-
Notifications
You must be signed in to change notification settings - Fork 3k
Closed
Description
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.
- Reduce the tests we have (Not ideal in the long term)
- Use
travis_waitas 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_waitis that it suppresses the log from the child command till it is complete. Also timeout supplied totravis_waitis for the whole child command (in our case./gradlew checkwhich already takes about 20 minutes today. - Run a background process to output a line to the log every minute. This similar to what I have done in the past at https://github.com/linkedin/transport/blob/6fc9a9274c147e999b8b52ee286973a57bbbd7f2/.travis.yml#L21-L25. We can also use the
travis_jiggercommand which does a similar thing (and can have a timeout too) - Make Gradle print out the name of every test it ran so that it produces some output as it progresses through the tests by modifying This will produce some noise when Gradle tests are run though (even locally, although unsure if there is a way we can apply this only for Travis)
Line 120 in 063f926
events "failed"
Metadata
Metadata
Assignees
Labels
No labels