Now that rerun is supported, culprits identified by flake analyses should not be properties of MasterFlakeAnalysis since they are cleared when a rerun is triggered. FlakeCulprit should be a separate entity written to the datastore.
The following revision refers to this bug: https://chromium.googlesource.com/infra/infra/+/96c91ca5a847a6db39ce368cfed585f02601fa81 commit 96c91ca5a847a6db39ce368cfed585f02601fa81 Author: Jeffrey Li <lijeffrey@chromium.org> Date: Fri Jul 14 20:26:25 2017 [Findit] Flake Analyzer - Refactoring FlakeCulprit to separate from MasterFlakeAnalysis In preparation to send notifications to culprits that introduced flakiness, FlakeCulprit must be it's own entity and keep track of each analysis that suggests it's the culprit. This way only 1 notification will be sent in cases where a CL is responsible for multiple flaky tests. Bug: 741930 Change-Id: I95bb91162a68fc7103c52f537a18ca64039e49dd Reviewed-on: https://chromium-review.googlesource.com/571358 Commit-Queue: Jeffrey Li <lijeffrey@chromium.org> Reviewed-by: Chan Li <chanli@chromium.org> [modify] https://crrev.com/96c91ca5a847a6db39ce368cfed585f02601fa81/appengine/findit/handlers/flake/list_flakes.py [modify] https://crrev.com/96c91ca5a847a6db39ce368cfed585f02601fa81/appengine/findit/waterfall/flake/test/update_flake_bug_pipeline_test.py [modify] https://crrev.com/96c91ca5a847a6db39ce368cfed585f02601fa81/appengine/findit/model/flake/test/flake_culprit_test.py [modify] https://crrev.com/96c91ca5a847a6db39ce368cfed585f02601fa81/appengine/findit/waterfall/flake/test/initialize_flake_try_job_pipeline_test.py [modify] https://crrev.com/96c91ca5a847a6db39ce368cfed585f02601fa81/appengine/findit/model/flake/flake_culprit.py [modify] https://crrev.com/96c91ca5a847a6db39ce368cfed585f02601fa81/appengine/findit/model/flake/master_flake_analysis.py [modify] https://crrev.com/96c91ca5a847a6db39ce368cfed585f02601fa81/appengine/findit/waterfall/flake/update_flake_bug_pipeline.py [modify] https://crrev.com/96c91ca5a847a6db39ce368cfed585f02601fa81/appengine/findit/handlers/flake/check_flake.py [modify] https://crrev.com/96c91ca5a847a6db39ce368cfed585f02601fa81/appengine/findit/model/flake/test/master_flake_analysis_test.py [modify] https://crrev.com/96c91ca5a847a6db39ce368cfed585f02601fa81/appengine/findit/waterfall/flake/initialize_flake_try_job_pipeline.py [modify] https://crrev.com/96c91ca5a847a6db39ce368cfed585f02601fa81/appengine/findit/handlers/flake/test/list_flakes_test.py [modify] https://crrev.com/96c91ca5a847a6db39ce368cfed585f02601fa81/appengine/findit/waterfall/flake/recursive_flake_try_job_pipeline.py [modify] https://crrev.com/96c91ca5a847a6db39ce368cfed585f02601fa81/appengine/findit/handlers/flake/triage_flake_analysis.py [modify] https://crrev.com/96c91ca5a847a6db39ce368cfed585f02601fa81/appengine/findit/handlers/flake/test/check_flake_test.py [modify] https://crrev.com/96c91ca5a847a6db39ce368cfed585f02601fa81/appengine/findit/waterfall/flake/test/recursive_flake_try_job_pipeline_test.py [modify] https://crrev.com/96c91ca5a847a6db39ce368cfed585f02601fa81/appengine/findit/handlers/flake/test/triage_flake_analysis_test.py
The following revision refers to this bug: https://chromium.googlesource.com/infra/infra/+/bd64d0c3587d2fb49d71d3595fe9f91631a2efce commit bd64d0c3587d2fb49d71d3595fe9f91631a2efce Author: Jeffrey Li <lijeffrey@chromium.org> Date: Sat Jul 15 04:13:32 2017 Revert "[Findit] Flake Analyzer - Refactoring FlakeCulprit to separate from MasterFlakeAnalysis" This reverts commit 96c91ca5a847a6db39ce368cfed585f02601fa81. Reason for revert: <INSERT REASONING HERE> Original change's description: > [Findit] Flake Analyzer - Refactoring FlakeCulprit to separate from MasterFlakeAnalysis > > In preparation to send notifications to culprits that introduced flakiness, FlakeCulprit must be it's own entity and keep track of each analysis that suggests it's the culprit. This way only 1 notification will be sent in cases where a CL is responsible for multiple flaky tests. > > Bug: 741930 > Change-Id: I95bb91162a68fc7103c52f537a18ca64039e49dd > Reviewed-on: https://chromium-review.googlesource.com/571358 > Commit-Queue: Jeffrey Li <lijeffrey@chromium.org> > Reviewed-by: Chan Li <chanli@chromium.org> TBR=robertocn@chromium.org,lijeffrey@chromium.org,chanli@chromium.org,wylieb@chromium.org Change-Id: Ic0753f33984ea49d9552d5b41d71c7b74ae9240e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 741930 Reviewed-on: https://chromium-review.googlesource.com/572713 Reviewed-by: Jeffrey Li <lijeffrey@chromium.org> Commit-Queue: Jeffrey Li <lijeffrey@chromium.org> [modify] https://crrev.com/bd64d0c3587d2fb49d71d3595fe9f91631a2efce/appengine/findit/handlers/flake/list_flakes.py [modify] https://crrev.com/bd64d0c3587d2fb49d71d3595fe9f91631a2efce/appengine/findit/waterfall/flake/test/update_flake_bug_pipeline_test.py [modify] https://crrev.com/bd64d0c3587d2fb49d71d3595fe9f91631a2efce/appengine/findit/model/flake/test/flake_culprit_test.py [modify] https://crrev.com/bd64d0c3587d2fb49d71d3595fe9f91631a2efce/appengine/findit/waterfall/flake/test/initialize_flake_try_job_pipeline_test.py [modify] https://crrev.com/bd64d0c3587d2fb49d71d3595fe9f91631a2efce/appengine/findit/model/flake/flake_culprit.py [modify] https://crrev.com/bd64d0c3587d2fb49d71d3595fe9f91631a2efce/appengine/findit/model/flake/master_flake_analysis.py [modify] https://crrev.com/bd64d0c3587d2fb49d71d3595fe9f91631a2efce/appengine/findit/waterfall/flake/update_flake_bug_pipeline.py [modify] https://crrev.com/bd64d0c3587d2fb49d71d3595fe9f91631a2efce/appengine/findit/handlers/flake/check_flake.py [modify] https://crrev.com/bd64d0c3587d2fb49d71d3595fe9f91631a2efce/appengine/findit/model/flake/test/master_flake_analysis_test.py [modify] https://crrev.com/bd64d0c3587d2fb49d71d3595fe9f91631a2efce/appengine/findit/waterfall/flake/initialize_flake_try_job_pipeline.py [modify] https://crrev.com/bd64d0c3587d2fb49d71d3595fe9f91631a2efce/appengine/findit/handlers/flake/test/list_flakes_test.py [modify] https://crrev.com/bd64d0c3587d2fb49d71d3595fe9f91631a2efce/appengine/findit/waterfall/flake/recursive_flake_try_job_pipeline.py [modify] https://crrev.com/bd64d0c3587d2fb49d71d3595fe9f91631a2efce/appengine/findit/handlers/flake/triage_flake_analysis.py [modify] https://crrev.com/bd64d0c3587d2fb49d71d3595fe9f91631a2efce/appengine/findit/handlers/flake/test/check_flake_test.py [modify] https://crrev.com/bd64d0c3587d2fb49d71d3595fe9f91631a2efce/appengine/findit/waterfall/flake/test/recursive_flake_try_job_pipeline_test.py [modify] https://crrev.com/bd64d0c3587d2fb49d71d3595fe9f91631a2efce/appengine/findit/handlers/flake/test/triage_flake_analysis_test.py
The following revision refers to this bug: https://chromium.googlesource.com/infra/infra/+/c7db4d7c2acecbecbca7335aa3acd07845375598 commit c7db4d7c2acecbecbca7335aa3acd07845375598 Author: Jeffrey Li <lijeffrey@chromium.org> Date: Mon Jul 17 22:23:50 2017 Reland "[Findit] Flake Analyzer - Refactoring FlakeCulprit to separate from MasterFlakeAnalysis" This is a reland of 96c91ca5a847a6db39ce368cfed585f02601fa81 Original change's description: > [Findit] Flake Analyzer - Refactoring FlakeCulprit to separate from MasterFlakeAnalysis > > In preparation to send notifications to culprits that introduced flakiness, FlakeCulprit must be it's own entity and keep track of each analysis that suggests it's the culprit. This way only 1 notification will be sent in cases where a CL is responsible for multiple flaky tests. > > Bug: 741930 > Change-Id: I95bb91162a68fc7103c52f537a18ca64039e49dd > Reviewed-on: https://chromium-review.googlesource.com/571358 > Commit-Queue: Jeffrey Li <lijeffrey@chromium.org> > Reviewed-by: Chan Li <chanli@chromium.org> Bug: 741930 Change-Id: Ib41ccc6a726e95cccacea57e2ea92e6c2835ad63 Reviewed-on: https://chromium-review.googlesource.com/575027 Reviewed-by: Roberto Carrillo <robertocn@chromium.org> Reviewed-by: Chan Li <chanli@chromium.org> Commit-Queue: Jeffrey Li <lijeffrey@chromium.org> [modify] https://crrev.com/c7db4d7c2acecbecbca7335aa3acd07845375598/appengine/findit/handlers/flake/list_flakes.py [modify] https://crrev.com/c7db4d7c2acecbecbca7335aa3acd07845375598/appengine/findit/waterfall/flake/test/update_flake_bug_pipeline_test.py [modify] https://crrev.com/c7db4d7c2acecbecbca7335aa3acd07845375598/appengine/findit/model/flake/test/flake_culprit_test.py [modify] https://crrev.com/c7db4d7c2acecbecbca7335aa3acd07845375598/appengine/findit/waterfall/flake/test/initialize_flake_try_job_pipeline_test.py [modify] https://crrev.com/c7db4d7c2acecbecbca7335aa3acd07845375598/appengine/findit/model/flake/flake_culprit.py [modify] https://crrev.com/c7db4d7c2acecbecbca7335aa3acd07845375598/appengine/findit/model/flake/master_flake_analysis.py [modify] https://crrev.com/c7db4d7c2acecbecbca7335aa3acd07845375598/appengine/findit/waterfall/flake/update_flake_bug_pipeline.py [modify] https://crrev.com/c7db4d7c2acecbecbca7335aa3acd07845375598/appengine/findit/handlers/flake/check_flake.py [modify] https://crrev.com/c7db4d7c2acecbecbca7335aa3acd07845375598/appengine/findit/model/flake/test/master_flake_analysis_test.py [modify] https://crrev.com/c7db4d7c2acecbecbca7335aa3acd07845375598/appengine/findit/waterfall/flake/initialize_flake_try_job_pipeline.py [modify] https://crrev.com/c7db4d7c2acecbecbca7335aa3acd07845375598/appengine/findit/handlers/flake/test/list_flakes_test.py [modify] https://crrev.com/c7db4d7c2acecbecbca7335aa3acd07845375598/appengine/findit/waterfall/flake/recursive_flake_try_job_pipeline.py [modify] https://crrev.com/c7db4d7c2acecbecbca7335aa3acd07845375598/appengine/findit/handlers/flake/triage_flake_analysis.py [modify] https://crrev.com/c7db4d7c2acecbecbca7335aa3acd07845375598/appengine/findit/handlers/flake/test/check_flake_test.py [modify] https://crrev.com/c7db4d7c2acecbecbca7335aa3acd07845375598/appengine/findit/waterfall/flake/test/recursive_flake_try_job_pipeline_test.py [modify] https://crrev.com/c7db4d7c2acecbecbca7335aa3acd07845375598/appengine/findit/handlers/flake/test/triage_flake_analysis_test.py
Comment 1 by lijeffrey@chromium.org
, Jul 12 2017