Hey All, Wanted to send a quick update about test infrastructure. With the number of contributors we have and the rate of development, maintaining a well-oiled test infra is really important.
Every time a flaky test fails a legitimate pull request, it wastes developer time and effort. 1. Master build: Spark's master builds are back to green again in Maven and SBT after a long time of instability. Big thanks to Josh Rosen, Andrew Or, Nick Chammas, Shane Knapp, Sean Owen, and many others who were involved in pinpointing and fixing fairly convoluted test failure issues. 2. Jenkins PRB: The Jenkins Pull Request Builder is mostly functioning again. However, we are working on a simpler technical pipeline for testing patches, as this plug-in has been a constant source of downtime and issues for us, and is very hard to debug. 3. Reverting flaky patches: Going forward - we may revert patches that seem to be the root cause of flaky or failing tests. This is necessary as these days, the test infra being down will block something like 10-30 in-flight patches on a given day. This puts the onus back on the test writer to try and figure out what's going on - we'll of course help debug the issue! 4. Time of tests: With hundreds (thousands?) of tests, we will have a very high bar for tests which take several seconds or longer. Things like Thread.sleep() bloat test time when proper synchronization mechanisms should be used. Expect reviewers to push back on any long-running tests, in many cases they can be re-written to be both shorter and better. Thanks again to everyone putting in effort on this, we've made a ton of progress in the last few weeks. A solid test infra will help us scale and move quickly as Spark development continues to accelerate. - Patrick --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@spark.apache.org For additional commands, e-mail: dev-h...@spark.apache.org