Closed Bug 1059222 Opened 10 years ago Closed 10 years ago

Fix internal server error on the exclusion-profile endpoint

Categories

(Tree Management :: Treeherder, defect, P1)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: mdoglio, Assigned: camd)

References

Details

Fetching the job-exclusion endpoint you obtain a 500 error. The message says:
{
    "detail": "(1146, \"Table 'treeherder.exclusionprofile_exclusions' doesn't exist\")"
}
It looks like for some reason the exclusionprofile_exclusions table didn't make it to production
Blocks: 1031857
Priority: -- → P1
Does this actually impact sheriffing?  If not, let's move it out of this group.
Flags: needinfo?(mdoglio)
Yes, because it blocks bug 1031857 aiui. ie: we can't hide jobs at all.
Thanks for the clarification!
Flags: needinfo?(mdoglio)
Assignee: nobody → jeads
Status: NEW → ASSIGNED
This looks like it was caused by a typo in the model which also found its way into the database migration files.

s/exclusionprofile_exclusions/exclusion_profile_exclusions/g

typo fix applied in PR https://github.com/mozilla/treeherder-service/pull/194. 

Pushing to dev/stage to test now.
This one is going to require a two part fix. The fix described in comment 4 worked for resolving the 500 and those changes are now on production. However, the exclusion profile is still not applied. The UI is hitting an angular "ngRepeat:dupes" error when the exclusion profile loads. This looks like it's caused by redundant platform names. This is caused by two different architectures, x86 and armv7, being associated with a single platform android-2-2. The angular ngRepeat directive doesn't know what to do with the duplicate platform names. We could possibly append the architecture to the platform name to make it unique, or collapse the array to remove duplicates before angular gets to it.

We may also need architecture as an explicit option when constructing an exclusion profile. After discussing with camd, reassigning to him so I can work on the buildername filtering issues.
Assignee: jeads → cdawson
The two architectures being associated with the one platform name is due to a mistake in the ingestion regex,  which was fixed by https://github.com/mozilla/treeherder-service/commit/0ae443a35bf677df829d7a83c79abd5693cc8551

However since we don't have a way to correct old data, we now have jobs that have both architectures.

In bug 1060769 i propose renaming os_platform to display_category or similar, since really we're just using it to determine the row in the UI. It would also seem likely that there shouldn't be duplicate job names on the same row, and as such we could use a combination of just job name and display_category to uniquely identity jobs for exclusion. So I'm not sure if we need to append arch?
UI Fixes:
https://github.com/mozilla/treeherder-ui/commit/af8075f2376275d011103cdb1cdcd6dbf28d48e8
https://github.com/mozilla/treeherder-ui/commit/aedcac087e541327d796d31321500bcf5db0a05b

Service Fixes:
https://github.com/mozilla/treeherder-service/commit/0be259288521256d02bfa9e14abd80cc4789a40c

The multiple platform architecture issue is handled by displaying them as "android-2-2 (x86)", "android-2-2 (armv7)", etc.  Same format for job types and symbols like "mochitest (1)", "mochitest(2)", etc.
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Commits pushed to master at https://github.com/mozilla/treeherder

https://github.com/mozilla/treeherder/commit/1d65255f48e0108541a66492cd114a3bba14a53c
fix bug 1059222 - handle platforms and architectures

https://github.com/mozilla/treeherder/commit/89f3408e3adfab968a903a9c544bec3f6fc775a6
fix bug 1059222 : refresh flat_exclusions on changes.

Fix job exclusions that include numbered types (mochitest 1, etc).
They were just excluding all.
Fix updating sheriff bit flag when already logged in.
You need to log in before you can comment on or make changes to this bug.