[Findit] GeneratorPIpeline raising abort when yield statement isn't used by pipeline |
||
Issue descriptionYou can see this in the following analysis: https://findit-for-me.appspot.com/waterfall/flake?key=ag9zfmZpbmRpdC1mb3ItbWVyrgELEhdNYXN0ZXJGbGFrZUFuYWx5c2lzUm9vdCJ4Y2hyb21pdW0ubWFjL01hYzEwLjEyIFRlc3RzLzcxMDIvYnJvd3Nlcl90ZXN0cyBvbiBNYWMtMTAuMTIvVW1WdVpHVnlaWEpUWVcxd2JHbHVaeTlOWlcxc2IyZENjbTkzYzJWeVZHVnpkQzVGYm1SVWIwVnVaQzh3DAsSE01hc3RlckZsYWtlQW5hbHlzaXMYAQw The bug creation pipeline returned because the feature wasn't enabled. GeneratorPipeline saw that the pipeline hadn't yielded any child pipelines, and raised an abort that bubbled up to the appengine pipeline base class. You can see the log message from the error here: 2017-11-07 19:26:10.487 PST chromium.mac/Mac10.12 Tests/7102/browser_tests on Mac-10.12/RendererSampling/MemlogBrowserTest.EndToEnd/0 RunImpl being called for CreateBugForFlakePipeline (/base/data/home/apps/s~findit-for-me/waterfall-backend:12652-d333ad9.405360789458293319/model/flake/master_flake_analysis.py:217) 2017-11-07 19:26:10.487 PST chromium.mac/Mac10.12 Tests/7102/browser_tests on Mac-10.12/RendererSampling/MemlogBrowserTest.EndToEnd/0 Bug creation feature disabled. (/base/data/home/apps/s~findit-for-me/waterfall-backend:12652-d333ad9.405360789458293319/model/flake/master_flake_analysis.py:217) 2017-11-07 19:26:10.487 PST User forced abort for pipeline ID "6df57664dee940a88f999e58474ef84c" of pipelines.flake_failure.create_bug_for_flake_pipeline.CreateBugForFlakePipeline(*(u'ENCODED:boHH6HlAZEbA0jDg7NHrcEFIN',), **{'analysis_urlsafe_key': u'ag9zfmZpbmRpdC1mb3ItbWVyrgELEhdNYXN0ZXJGbGFrZUFuYWx5c2lzUm9vdCJ4Y2hyb21pdW0ubWFjL01hYzEwLjEyIFRlc3RzLzcxMDIvYnJvd3Nlcl90ZXN0cyBvbiBNYWMtMTAuMTIvVW1WdVpHVnlaWEpUWVcxd2JHbHVae... (392 bytes)): CreateBugForFlakePipeline did not spawn other pipelines (/base/data/home/apps/s~findit-for-me/waterfall-backend:12652-d333ad9.405360789458293319/infra_api_clients/../third_party/pipeline/pipeline.py:2429) Returning from a GeneratorPipeline without yielding any children is a perfectly valid use case and should be supported.
,
Nov 9 2017
The following revision refers to this bug: https://chromium.googlesource.com/infra/infra/+/626a7de211793f594dcb6bfc77d4011e09e8a75d commit 626a7de211793f594dcb6bfc77d4011e09e8a75d Author: Brandon Wylie <wylieb@chromium.org> Date: Thu Nov 09 22:10:37 2017 [Findit] Allow generator pipelines to return without yielding GeneratorPipelines should be able to use the return statement as long as no value is returned. The pipeline should be aborted in the case where a non-future value is returned from a GeneratorPipeline, but that's all. Bug:782816 Change-Id: Ief3e0781097b6f1e3cb902e57ae8589af0b13095 Reviewed-on: https://chromium-review.googlesource.com/761358 Reviewed-by: Shuotao Gao <stgao@chromium.org> Commit-Queue: Brandon Wylie <wylieb@chromium.org> [modify] https://crrev.com/626a7de211793f594dcb6bfc77d4011e09e8a75d/appengine/findit/gae_libs/test/pipelines_test.py [modify] https://crrev.com/626a7de211793f594dcb6bfc77d4011e09e8a75d/appengine/findit/gae_libs/pipelines.py
,
Nov 29 2017
|
||
►
Sign in to add a comment |
||
Comment 1 by st...@chromium.org
, Nov 9 2017