Bug 2007112 - Perform a binary search backfill with the sheriffing bot with change detection technique integration#9237
Open
junngo wants to merge 1 commit intomozilla:masterfrom
Open
Conversation
…t with change detection technique integration
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi there :)
I've integrated the smart backfill logic in this patch.
I haven't added unit tests yet. I'd like to confirm that the overall direction and policy make sense first. Once that’s agreed on, I’ll follow up with tests.
Please let me know if you have any questions or if there’s anything you’d like me to change.
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=2007112
Related Patch: https://phabricator.services.mozilla.com/D282605
Features
BackfillRecordtable.iteration_countlast_detected_push_idanchor_push_idbackfill_logs[1]In the example below [1], the initial alert point is push
10(previous_push_id: 10). After backfilling, verification detects changes at pushes9and14. Since push9is closer to the previous alert point (10), it is selected as the culprit.In this example, the search window is intentionally kept small for testing purposes. In production, we typically use a wider search window (around 12–24 pushes).
(Note: In this example, push
9represents a regression, while push14represents an improvement.)Ideally, it should match the number of pushes triggered by the real backfill action on the mozilla-central side. Also, if we need to manage this value, we can consider adding a new column for it.
verify_and_iteratemethod), the backfill record status remainsSUCCESSFUL. We could introduce a new status to represent this case more explicitly, or alternatively change the status toFAILED. I left this as a policy decision to be discussed.re_run_detect_changesmethod is based on the alert generation logic [2], in order to recreate the same environment used when alerts are originally generated.[0]
treeherder/treeherder/perf/models.py
Lines 887 to 891 in ce3a39b
[1] Example
[2]
treeherder/treeherder/perf/alerts.py
Lines 59 to 126 in ce3a39b