It looks like fn_api_runner_test.py is quite expensive, taking 10-15+ minutes on each version of Python. This test consists of a base class that is basically a validates runner suite, and is then run in several configurations, many more of which (including some expensive ones) have been added lately.
class FnApiRunnerTest(unittest.TestCase): class FnApiRunnerTestWithGrpc(FnApiRunnerTest): class FnApiRunnerTestWithGrpcMultiThreaded(FnApiRunnerTest): class FnApiRunnerTestWithDisabledCaching(FnApiRunnerTest): class FnApiRunnerTestWithMultiWorkers(FnApiRunnerTest): class FnApiRunnerTestWithGrpcAndMultiWorkers(FnApiRunnerTest): class FnApiRunnerTestWithBundleRepeat(FnApiRunnerTest): class FnApiRunnerTestWithBundleRepeatAndMultiWorkers(FnApiRunnerTest): I'm not convinced we need to run all of these permutations, or at least not all tests in all permutations. On Fri, Oct 25, 2019 at 10:57 AM Valentyn Tymofieiev <valen...@google.com> wrote: > > I took another look at this and precommit ITs are already running in > parallel, albeit in the same suite. However it appears Python precommits > became slower, especially Python 2 precommits [35 min per suite x 3 suites], > see [1]. Not sure yet what caused the increase, but precommits used to be > faster. Perhaps we have added a slow test or a lot of new tests. > > [1] https://scans.gradle.com/s/jvcw5fpqfc64k/timeline?task=ancsbov425524 > > On Thu, Oct 24, 2019 at 4:53 PM Ahmet Altay <al...@google.com> wrote: >> >> Ack. Separating precommit ITs to a different suite sounds good. Anyone is >> interested in doing that? >> >> On Thu, Oct 24, 2019 at 2:41 PM Valentyn Tymofieiev <valen...@google.com> >> wrote: >>> >>> This should not increase the queue time substantially, since precommit ITs >>> are running sequentially with precommit tests, unlike multiple precommit >>> tests which run in parallel to each other. >>> >>> The precommit ITs we run are batch and streaming wordcount tests on Py2 and >>> one Py3 version, so it's not a lot of tests. >>> >>> On Thu, Oct 24, 2019 at 1:07 PM Ahmet Altay <al...@google.com> wrote: >>>> >>>> +1 to separating ITs from precommit. Downside would be, when Chad tried to >>>> do something similar [1] it was noted that the total time to run all >>>> precommit tests would increase and also potentially increase the queue >>>> time. >>>> >>>> Another alternative, we could run a smaller set of IT tests in precommits >>>> and run the whole suite as part of post commit tests. >>>> >>>> [1] https://github.com/apache/beam/pull/9642 >>>> >>>> On Thu, Oct 24, 2019 at 12:15 PM Valentyn Tymofieiev <valen...@google.com> >>>> wrote: >>>>> >>>>> One improvement could be move to Precommit IT tests into a separate suite >>>>> from precommit tests, and run it in parallel. >>>>> >>>>> On Thu, Oct 24, 2019 at 11:41 AM Brian Hulette <bhule...@google.com> >>>>> wrote: >>>>>> >>>>>> Python Precommits are taking quite a while now [1]. Just visually it >>>>>> looks like the average length is 1.5h or so, but it spikes up to 2h. >>>>>> I've had several precommit runs get aborted due to the 2 hour limit. >>>>>> >>>>>> It looks like there was a spike up above 1h back on 9/6 and the duration >>>>>> has been steadily rising since then. Is there anything we can do about >>>>>> this? >>>>>> >>>>>> Brian >>>>>> >>>>>> [1] >>>>>> http://104.154.241.245/d/_TNndF2iz/pre-commit-test-latency?orgId=1&from=now-90d&to=now&fullscreen&panelId=4