Thanks, Brian.
+Udi Meiri <eh...@google.com>
As next step, it would be good to know whether slowdown is caused by tests
in this PR, or its effect on other tests, and to confirm that only Python 2
codepaths were affected.

On Fri, Oct 25, 2019 at 6:35 PM Brian Hulette <bhule...@google.com> wrote:

> I did a bisect based on the runtime of `./gradlew
> :sdks:python:test-suites:tox:py2:testPy2Gcp` around the commits between 9/1
> and 9/15 to see if I could find the source of the spike that happened
> around 9/6. It looks like it was due to PR#9283 [1]. I thought maybe this
> search would reveal some mis-guided configuration change, but as far as I
> can tell 9283 just added a well-tested feature. I don't think there's
> anything to learn from that... I just wanted to circle back about it in
> case others are curious about that spike.
>
> I'm +1 on bumping some FnApiRunner configurations.
>
> Brian
>
> [1] https://github.com/apache/beam/pull/9283
>
> On Fri, Oct 25, 2019 at 4:49 PM Pablo Estrada <pabl...@google.com> wrote:
>
>> I think it makes sense to remove some of the extra FnApiRunner
>> configurations. Perhaps some of the multiworkers and some of the grpc
>> versions?
>> Best
>> -P.
>>
>> On Fri, Oct 25, 2019 at 12:27 PM Robert Bradshaw <rober...@google.com>
>> wrote:
>>
>>> 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
>>>
>>

Reply via email to