We need to stabilise the tests. If reducing the parallel forks does this, then we should.
On Mon, Jul 21, 2014 at 4:41 PM, Luke Daley <luke.da...@gradleware.com> wrote: > +1 to reducing maxParallelForks. > > On 22 July 2014 at 12:28:24 am, Radim Kubacki ( > radim.kuba...@gradleware.com) wrote: > > More observations: > I've tried this today with my Windows and it seems that there is a big > difference between maxParallelForks 3 and 4. The test consistently passes > with 3 is lower value on my VMWare box with 6GB RAM and 2 CPUs. It also > consistently fails with maxParallelForks=4. I know that our Windows > machines and much better hardware but it seems that especially > :launcher:integTest starts a lot of processes and probably hits some I/O > threshold where things get noticeably slower. Reducing the throughput at > this level seems better/more reliable to me than increasing various > timeouts. > > My suggestion is to reduce maxParallelForks to 3. Possibly we can do it > only for :launcher (and perhaps :toolingApi) where we have these tests that > run multiple child processes per test. Other subprojects can live with > current settings at the moment. Opinions? > > -Radim > > > On Sun, Jul 20, 2014 at 9:29 PM, Radim Kubacki < > radim.kuba...@gradleware.com> wrote: > >> We have a few tests that are failing sporadically due to some timeouts: >> ToolingApiLoggingCrossVersionSpec."logging is live" is one of them. >> CancellingDaemonIntegrationSpec."cancels correct build" seem to fall into >> this category too. >> >> They fail more often on our Windows CI box and the failure are usual when >> there is higher CPU load. I added debug logging to see where the time is >> spent and here are some numbers (based on >> http://builds.gradle.org/viewLog.html?buildId=112016&tab=buildResultsDiv&buildTypeId=Gradle_Master_Coverage_WindowsJava18#testNameId1103271250747874825 >> ) >> >> Output starts at 22:05:08.897 and there will be some time before to spawn >> the process. >> Daemon setup ends at with '22:05:10.892 [INFO] [ >> org.gradle.launcher.daemon.server.exec.ExecuteBuild] Executing build >> with daemon context...' >> Then there is a gap 1.5s before '22:05:12.333 [INFO] >> [org.gradle.BuildLogger] Starting Build' >> >> Next chunk is '22:05:13.051 [DEBUG] >> [org.gradle.initialization.ScriptEvaluatingSettingsProcessor] Timing: >> Processing settings took: 0.669 secs' >> >> Another 1+s to get lock and write build script to a cache - >> 22:05:14.344 [DEBUG] >> [org.gradle.groovy.scripts.internal.DefaultScriptCompilationHandler] >> Timing: Writing script to cache at >> C:\tcagent2\work\2d33fa4c6d642769\intTestHomeDir\worker-1\caches\2.1-20140719192339+0000\scripts\build_td6v684jmvp2dj2md0b4vs8dr\ProjectScript\buildscript\classes >> took: 0.48 secs >> >> 3.5s to compile the build script is a biggest part - 22:05:17.864 >> [DEBUG] >> [org.gradle.groovy.scripts.internal.DefaultScriptCompilationHandler] >> Timing: Writing script to cache at >> C:\tcagent2\work\2d33fa4c6d642769\intTestHomeDir\worker-1\caches\2.1-20140719192339+0000\scripts\build_td6v684jmvp2dj2md0b4vs8dr\ProjectScript\no_buildscript\classes >> took: 3.482 secs >> >> Task is executed soon after (22:05:18.253 [DEBUG] >> [org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter] >> Executing actions for task ':t1'.) but it is too late for the test that has >> 10secs timeout to read output from the test. >> >> My questions: >> Can we make the test faster? Like adding empty settings.gradle? Can we >> speed up script compilation? Do we know what is happening before >> '[org.gradle.BuildLogger] Starting Build'? >> >> Of course I can increase the timeout but before that I'd like to see why >> it is not sufficient in some cases. >> >> -Radim >> >> >> >> > -- Darrell (Daz) DeBoer http://www.gradleware.com