New issue
Advanced search Search tips

Issue 667586 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: ----



Sign in to add a comment

chromium-try-flakes should comment on Duplicate bugs rather than opening a new bug

Project Member Reported by tsergeant@chromium.org, Nov 22 2016

Issue description

During my sheriff shift today, I've noticed multiple cases like the following:

https://chromium-try-flakes.appspot.com/all_flake_occurrences?key=ahVzfmNocm9taXVtLXRyeS1mbGFrZXNyKwsSBUZsYWtlIiBCcm93c2VyRm9jdXNUZXN0LkZvY3VzT25OYXZpZ2F0ZQw

1. Test starts flaking
2. Try flakes files a bug
3. That bug gets marked as Duplicate into a different tracking bug
4. Test continues flaking
5. (I think?) Try flakes sees the original bug as Closed and so files a new bug

That new bug ends up back in the sheriff queue and wastes a little bit of time being investigated and marked as duplicate again.

Instead, it would be reasonable for Try flakes to post a new comment on the tracking bug and avoid opening a new bug.
 
Owner: serg...@chromium.org
Status: Started (was: Untriaged)
Normally, chromium-try-flakes detects when a bug is marked as Duplicate and starts to track the new bug instead. It does so when trying to update the bug with new set of flakes, which usually happens at least once a day unless there are no further flakes (as happened in this case).

Another thing that chromium-try-flakes does is disassociating closed bugs from the flaky tests after 3 days, which is done to reduce the number of bugs we need to process when marking issues as stale. Unfortunately, while doing this, we do not handle Duplicate bugs in any special way because typically by this time we would have already replaced the bug number due to update logic described above.

I'll prepare a patch to fix this.
Project Member

Comment 2 by bugdroid1@chromium.org, Nov 22 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra.git/+/3f3c6184b2553eb79bd0cbc0b2adfe3a73426888

commit 3f3c6184b2553eb79bd0cbc0b2adfe3a73426888
Author: Sergiy Byelozyorov <sergiyb@chromium.org>
Date: Tue Nov 22 16:49:33 2016

Fix scenario when deduplicated issue is not updated for 3 days

Previously if an issue A was marked as Duplicate of another issue B, but no
further flake occurrences happened, we would remove issue A from the flake and
create a new issue C when flake occurrences restart. Instead we should be
updating issue B.

BUG= 667586 

Change-Id: Id3590c3241a03436c6cccf0395849323952acce6
Reviewed-on: https://chromium-review.googlesource.com/412663
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>

[modify] https://crrev.com/3f3c6184b2553eb79bd0cbc0b2adfe3a73426888/appengine/chromium_try_flakes/handlers/flake_issues.py
[modify] https://crrev.com/3f3c6184b2553eb79bd0cbc0b2adfe3a73426888/appengine/chromium_try_flakes/handlers/test/flake_issues_test.py

Thanks for the explanation and the quick fix!
This is now deployed to staging instance, but not in production yet.
Project Member

Comment 5 by bugdroid1@chromium.org, Nov 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra.git/+/856f935241cc1b34615efd8f42c4562f0738eb6b

commit 856f935241cc1b34615efd8f42c4562f0738eb6b
Author: Sergiy Byelozyorov <sergiyb@chromium.org>
Date: Mon Nov 28 13:58:39 2016

Reduce number of paths added to sys.path

This will reduce number of conflicts created by all the added paths. In
particular it allows to add test folder into the root of the chromium_try_flakes
app, which will contain tests for main module. Previously it was conflicting
with dateutil/test.py module, but now we only symlink the dateutil/dateutil
folder.

This is also helpful in preparation before moving all sys.path modifications to
files that need them, which will allow to run chromium_try_flakes tests in
parallel despite the picle/unpickle importing issues in expect_tests.

BUG= 667586 

Change-Id: I7536b846c8b68aa68dd7352964a40fbd76eabc09
Reviewed-on: https://chromium-review.googlesource.com/414505
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>

[modify] https://crrev.com/856f935241cc1b34615efd8f42c4562f0738eb6b/appengine/chromium_try_flakes/main.py
[add] https://crrev.com/856f935241cc1b34615efd8f42c4562f0738eb6b/appengine/chromium_try_flakes/third_party/apiclient
[modify] https://crrev.com/856f935241cc1b34615efd8f42c4562f0738eb6b/appengine/chromium_try_flakes/third_party/dateutil
[delete] https://crrev.com/270fc63ac55da555323bd8dfa995fd78d6d90def/appengine/chromium_try_flakes/third_party/gae-pytz
[delete] https://crrev.com/270fc63ac55da555323bd8dfa995fd78d6d90def/appengine/chromium_try_flakes/third_party/google-api-python-client
[add] https://crrev.com/856f935241cc1b34615efd8f42c4562f0738eb6b/appengine/chromium_try_flakes/third_party/googleapiclient
[modify] https://crrev.com/856f935241cc1b34615efd8f42c4562f0738eb6b/appengine/chromium_try_flakes/third_party/httplib2
[modify] https://crrev.com/856f935241cc1b34615efd8f42c4562f0738eb6b/appengine/chromium_try_flakes/third_party/oauth2client
[add] https://crrev.com/856f935241cc1b34615efd8f42c4562f0738eb6b/appengine/chromium_try_flakes/third_party/pytz
[delete] https://crrev.com/270fc63ac55da555323bd8dfa995fd78d6d90def/appengine/chromium_try_flakes/third_party/six
[add] https://crrev.com/856f935241cc1b34615efd8f42c4562f0738eb6b/appengine/chromium_try_flakes/third_party/six.py
[rename] https://crrev.com/856f935241cc1b34615efd8f42c4562f0738eb6b/appengine/chromium_try_flakes/third_party/test_results/__init__.py
[delete] https://crrev.com/270fc63ac55da555323bd8dfa995fd78d6d90def/appengine/chromium_try_flakes/third_party/test_results/test_results/util.py
[add] https://crrev.com/856f935241cc1b34615efd8f42c4562f0738eb6b/appengine/chromium_try_flakes/third_party/test_results/util.py
[add] https://crrev.com/856f935241cc1b34615efd8f42c4562f0738eb6b/appengine/chromium_try_flakes/third_party/time_functions
[delete] https://crrev.com/270fc63ac55da555323bd8dfa995fd78d6d90def/appengine/chromium_try_flakes/third_party/time_functions/time_functions
[modify] https://crrev.com/856f935241cc1b34615efd8f42c4562f0738eb6b/appengine/chromium_try_flakes/third_party/uritemplate

Blockedon: monorail:1840
Turns out staging instance does not work properly since it was still not whitelisted for monorail-staging.
Project Member

Comment 8 by bugdroid1@chromium.org, Nov 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra.git/+/9a9def4e93f559c11c96d38c6307096472ac547b

commit 9a9def4e93f559c11c96d38c6307096472ac547b
Author: Sergiy Byelozyorov <sergiyb@chromium.org>
Date: Mon Nov 28 15:40:14 2016

Check both merged_into and status fields

BUG= 667586 

Change-Id: I72b03d549335ac6a80b24dce5057193ed6689191
Reviewed-on: https://chromium-review.googlesource.com/414907
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>

[modify] https://crrev.com/9a9def4e93f559c11c96d38c6307096472ac547b/appengine/chromium_try_flakes/handlers/flake_issues.py
[modify] https://crrev.com/9a9def4e93f559c11c96d38c6307096472ac547b/appengine/chromium_try_flakes/handlers/test/flake_issues_test.py

Status: Fixed (was: Started)
I've deployed this to prod directly, since I seem to get no traction on the dependent bug.
Blockedon: -monorail:1840

Sign in to add a comment