Closed Bug 928051 Opened 6 years ago Closed 6 years ago

Make data from B2G partner builds appear in reports_clean and friends

Categories

(Socorro :: Database, task)

task
Not set

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: kairo, Assigned: rhelmer)

References

Details

To make Socorro reports actually usable for B2G, we need to make data from partner builds appear in reports_clean and friends.

As Socorro is very set in its ways of what to call "clean", we run into multiple issues here right now:

1) We don't have FTP scraping info for those builds and we can't count on getting that data (we may get some but that's very long-term). We need to figure out how to add at least version information without getting the data in automated fashion and keep versions valid for their supported period (bug 915257 is one failure of the latter).

2) Partners use version/channel combinations that do not fit our standards, e.g. in https://crash-stats.mozilla.com/report/index/1a2dae29-7a0d-4a81-818f-561b22131016 where a version number of "18.0" has "nightly" as the channel instead of the "release-*" or "beta"+known-buildid we'd expect (we are trying to get them to adopt something we do understand, see e.g. https://crash-stats.mozilla.com/report/index/17cd1093-d6d3-4e2a-a2d1-450a72131010 from some partner QA testing).

3) The version field does not have the version that people actually care about, as what they care about is the B2G_OS_Version field which is not even a completely pure version number, see e.g. https://crash-stats.mozilla.com/report/index/635dcd6f-989c-44cd-8710-acde62131016 - ideally we'd report by that number instead of the Gecko version we're seeing in the version field right now.
(In reply to Robert Kaiser (:kairo@mozilla.com) from comment #0)
> 1) We don't have FTP scraping info for those builds and we can't count on
> getting that data (we may get some but that's very long-term). We need to
> figure out how to add at least version information without getting the data
> in automated fashion and keep versions valid for their supported period (bug
> 915257 is one failure of the latter).


Being able to do this automated or via Socorro UI should be simple (there's a postgres function for it, simply adds a row to releases_raw table), but it's not clear to me how that would be automated... would this be something partners would do, or they would send us the info and we'd put it in?


> 2) Partners use version/channel combinations that do not fit our standards,
> e.g. in
> https://crash-stats.mozilla.com/report/index/1a2dae29-7a0d-4a81-818f-
> 561b22131016 where a version number of "18.0" has "nightly" as the channel
> instead of the "release-*" or "beta"+known-buildid we'd expect (we are
> trying to get them to adopt something we do understand, see e.g.
> https://crash-stats.mozilla.com/report/index/17cd1093-d6d3-4e2a-a2d1-
> 450a72131010 from some partner QA testing).


OK I like the idea of putting in mapping for stuff that we know is wrong, while working with partners to get it correct. 


> 3) The version field does not have the version that people actually care
> about, as what they care about is the B2G_OS_Version field which is not even
> a completely pure version number, see e.g.
> https://crash-stats.mozilla.com/report/index/635dcd6f-989c-44cd-8710-
> acde62131016 - ideally we'd report by that number instead of the Gecko
> version we're seeing in the version field right now.


We *could* just map Version to B2G_OS_Version (and create a "Gecko_Version" or something to put the number that's currently sent as Version) - this would probably be less work overall. We should look into adding support for products that have multiple version numbers in a more generic way, might be a similar amount of work and I suspect the end result would make more sense.
(In reply to Robert Helmer [:rhelmer] from comment #1)
> Being able to do this automated or via Socorro UI should be simple (there's
> a postgres function for it, simply adds a row to releases_raw table), but
> it's not clear to me how that would be automated... would this be something
> partners would do, or they would send us the info and we'd put it in?

Yes, I cannot see any automation there as well right now, I think it's something we need to do in some kind of manual (UI?) fashion, unfortunately.

> OK I like the idea of putting in mapping for stuff that we know is wrong,
> while working with partners to get it correct. 

If we can do it, that surely would be helpful.

> We *could* just map Version to B2G_OS_Version (and create a "Gecko_Version"
> or something to put the number that's currently sent as Version) - this
> would probably be less work overall. We should look into adding support for
> products that have multiple version numbers in a more generic way, might be
> a similar amount of work and I suspect the end result would make more sense.

You surely have a better idea what's technically feasible there.
(In reply to Robert Kaiser (:kairo@mozilla.com) from comment #2)
> (In reply to Robert Helmer [:rhelmer] from comment #1)
> > We *could* just map Version to B2G_OS_Version (and create a "Gecko_Version"
> > or something to put the number that's currently sent as Version) - this
> > would probably be less work overall. We should look into adding support for
> > products that have multiple version numbers in a more generic way, might be
> > a similar amount of work and I suspect the end result would make more sense.
> 
> You surely have a better idea what's technically feasible there.

This is all deep within the stored procedures, so I'll defer to Selena here.
Flags: needinfo?(sdeckelmann)
For reference, here's a sample of the version information I can currently see: 

   b2g_os_version   
--------------------
 1.0.1.0-prerelease
 1.0.1.0-prerelease
 1.1.0.0-prerelease
 1.0.1.0-prerelease
 2.0.0.0-prerelease
 2.0.0.0-prerelease
 1.0.1.0-prerelease
 2.0.0.0-prerelease
 2.0.0.0-prerelease
 1.0.1.0-prerelease

The trick with anything that partners enter is getting it to be *exactly* the same as what they're sending us from phones.  If they mis-enter data, we won't be able to easily correct it.

What if part of our UI for adding product versions presents the versions we're *actually* seeing, broken down by Android Manufacturer and Android Model?
Flags: needinfo?(sdeckelmann)
FYI, my custom reports such as https://crash-analysis.mozilla.com/rkaiser/2013-10-30/2013-10-30.b2g.topcrashes.weekly.html key by the B2G_OS_version right now, you'll see a bit more spread there. And FYI, bug 910836 is filed on reducing/eliminating the "unknown" category there (which means the field is emtpy).
Here's a suggested mapping for b2g data -> releases_raw (our source table for all product_version data): 

This is pretty easy:
if raw_crash['b2g_os_version'] NOT NULL THEN 'b2g' => product_name
raw_crash['buildid'] => buildid
raw_crash['b2g_os_version'] => version

This needs some more detailed work: 
raw_crash['release_channel'] + some regexes/mapping table => repository
raw_crash['release_channel'] + some regexes/mapping table => build_type

I need to know what to put for platform:
raw_crash['???'] => platform


Here's a sample of output from the builds I found from 10/20-11/1: 
https://gist.github.com/selenamarie/89f8ba848c48ab84cef2
We agreed to make 'platform' => Linux for now.

'gonk' may be the preferred OS in the future.
For build_type: 

> raw_crash['release_channel'] + some regexes/mapping table => build_type

I can search for one of: nightly, beta, release, default

I could also do something with the version number itself -- but I need a decoder ring. :)
Here's what we currently have for b2g repository: 

breakpad=# select distinct repository from releases_raw where product_name = 'b2g'; 
      repository      
----------------------
 oak
 mozilla-b2g18
 mozilla-central
 mozilla-b2g18_v1_0_1
 ionmonkey
 fx-team
 mozilla-aurora
 date
 mozilla-beta
 mozilla-b2g18_v1_0_0
 b2g
 b2g-release
(12 rows)


This is used for generating product_version_builds.  This information doesn't appear in a crash, so our options are: 

* continue to try to scrape it out
* request this data from vendors

Let me know which you'd like to do.
(In reply to Selena Deckelmann :selenamarie :selena from comment #7)
> if raw_crash['b2g_os_version'] NOT NULL THEN 'b2g' => product_name

You could even key on product being 'B2G' - and on the platform, I guess (see below).

> raw_crash['b2g_os_version'] => version

If we morph the version field the same way in crash data, then yes.

> raw_crash['release_channel'] + some regexes/mapping table => repository

Yes, that one is tricky, esp. as release builds by partners will always come from something like mozilla-b2g18, mozilla-b2g26, etc.

> raw_crash['release_channel'] + some regexes/mapping table => build_type

Is build_type just the channel or something else?

> I need to know what to put for platform:
> raw_crash['???'] => platform

I agree with Linux so far - for the builds that are actually for devices, that is. So that's builds where the original raw crash data has "Android" (which we rewrite to "Linux" as the Socorro UI doesn't understand anything other than Windows, Mac, or Linux atm).

The "desktop builds" done mostly by Mozilla for testing and the simulator do run on other OSes, which we might want to reflect correctly.
(In reply to Robert Kaiser (:kairo@mozilla.com) from comment #11)
> (In reply to Selena Deckelmann :selenamarie :selena from comment #7)
> > if raw_crash['b2g_os_version'] NOT NULL THEN 'b2g' => product_name
> 
> You could even key on product being 'B2G' - and on the platform, I guess
> (see below).
> 
> > raw_crash['b2g_os_version'] => version
> 
> If we morph the version field the same way in crash data, then yes.

Then, in the processed_crash, should we just throw away Version?

> > raw_crash['release_channel'] + some regexes/mapping table => repository
> 
> Yes, that one is tricky, esp. as release builds by partners will always come
> from something like mozilla-b2g18, mozilla-b2g26, etc.

See https://bugzilla.mozilla.org/show_bug.cgi?id=928051#c10 -- I don't get enough information from ReleaseChannel in crashes to get this information. I have to scrape it or get it some other way.

> > raw_crash['release_channel'] + some regexes/mapping table => build_type
> 
> Is build_type just the channel or something else?

It is one of: nightly, aurora, beta, release 

> > I need to know what to put for platform:
> > raw_crash['???'] => platform
> 
> I agree with Linux so far - for the builds that are actually for devices,
> that is. So that's builds where the original raw crash data has "Android"
> (which we rewrite to "Linux" as the Socorro UI doesn't understand anything
> other than Windows, Mac, or Linux atm).
> 
> The "desktop builds" done mostly by Mozilla for testing and the simulator do
> run on other OSes, which we might want to reflect correctly.

Without a UI change, I can't put anything in there other than Win/Mac/Linux. 

Perhaps this is a potential Q1 goal to update the UI to accept arbitrary OSes.
(In reply to Selena Deckelmann :selenamarie :selena from comment #12)
> > > raw_crash['b2g_os_version'] => version
> > 
> > If we morph the version field the same way in crash data, then yes.
> 
> Then, in the processed_crash, should we just throw away Version?

I would like to have it around in some way for reference - might make sense to morph it into Gecko_Version instead.
Those changes in versions will probably require changes in UI to display the Gecko_Version instead of the B2G_OS_Version in report/index.

> > > raw_crash['release_channel'] + some regexes/mapping table => repository
> > 
> > Yes, that one is tricky, esp. as release builds by partners will always come
> > from something like mozilla-b2g18, mozilla-b2g26, etc.
> 
> See https://bugzilla.mozilla.org/show_bug.cgi?id=928051#c10 -- I don't get
> enough information from ReleaseChannel in crashes to get this information. I
> have to scrape it or get it some other way.

I know, that's why I'm saying this is tricky. We probably can get something somewhat reasonable out of some kind of matching heuristic, but it will never be perfect. What are we using this value for in the end?

> > Is build_type just the channel or something else?
> 
> It is one of: nightly, aurora, beta, release

Ah, OK, that's probably easy to get out of the channel, yes.


> Without a UI change, I can't put anything in there other than Win/Mac/Linux. 

Exactly, that's what I was mentioning. We are already rewriting the raw data from "Android" to "Linux" because of that.

> Perhaps this is a potential Q1 goal to update the UI to accept arbitrary
> OSes.

Good idea to put it on the list for then, yes. I was told the reworking of django should have helped to make this easier in the long run.
(In reply to Robert Kaiser (:kairo@mozilla.com) from comment #13)
> (In reply to Selena Deckelmann :selenamarie :selena from comment #12)
> > > > raw_crash['b2g_os_version'] => version
> > > 
> > > If we morph the version field the same way in crash data, then yes.
> > 
> > Then, in the processed_crash, should we just throw away Version?
> 
> I would like to have it around in some way for reference - might make sense
> to morph it into Gecko_Version instead.
> Those changes in versions will probably require changes in UI to display the
> Gecko_Version instead of the B2G_OS_Version in report/index.

I'll discuss this with the team a bit. 

I am concerned about renaming things in the processed crash if we don't have to -- putting the business logic of fixing this in multiple places leads to quite a bit more work down the road if we change our minds. 

I understand the desire to present something different in the UI, however, so I'll talk it over with lars and peter and see if there's an easier solution than what I'm currently thinking.


> > > > raw_crash['release_channel'] + some regexes/mapping table => repository
> > > 
> > > Yes, that one is tricky, esp. as release builds by partners will always come
> > > from something like mozilla-b2g18, mozilla-b2g26, etc.
> > 
> > See https://bugzilla.mozilla.org/show_bug.cgi?id=928051#c10 -- I don't get
> > enough information from ReleaseChannel in crashes to get this information. I
> > have to scrape it or get it some other way.
> 
> I know, that's why I'm saying this is tricky. We probably can get something
> somewhat reasonable out of some kind of matching heuristic, but it will
> never be perfect. What are we using this value for in the end?

All it does is indicate that builds with the same buildid but different channels are distinct. I can do that with "strange" release channels. I will just relax the rules for what we think is ok for release channel value when it comes to b2g.
Here's what releases_raw might look like if pulled directly from crashes: 


 product_name |    build_id    | build_type |       repository        |       version        | platform 
--------------+----------------+------------+-------------------------+----------------------+----------
 B2G          | 20130906180957 | nightly    | nightly                 | 1.0.1.0              | linux
 B2G          | 20131022235139 | release    | default                 | 1.3.0.0-prerelease   | linux
 B2G          | 20131028142239 | release    | default                 | 1.2.0.0-prerelease   | linux
 B2G          | 20131017205543 | release    | default                 | 1.2.0.0-prerelease   | linux
 B2G          | 20131003224357 | release    | default                 | 1.2.0.0-prerelease   | linux
 B2G          | 20131030192015 | release    | default                 | 1.3.0.0-prerelease   | linux
 B2G          | 20130531232151 | nightly    | nightly                 | 1.0.1.0-prerelease   | linux
 B2G          | 20130712192650 | nightly    | nightly                 | 1.0.1.0-prerelease   | linux
 B2G          | 20131027021844 | release    | default                 | 1.3.0.0-prerelease   | linux
 B2G          | 20131030134952 | nightly    | nightly-crespo          | 1.3.0.0-prerelease   | linux
 B2G          | 20131007024606 | nightly    | nightly                 | 1.1.1.0hd-prerelease | linux
 B2G          | 20131030040204 | nightly    | hamachi/1.3.0/nightly   | 1.3.0.0-prerelease   | linux
 B2G          | 20131020062942 | release    | default                 | 1.3.0.0-prerelease   | linux
 B2G          | 20130621133927 | nightly    | nightly                 | 1.0.1.0-prerelease   | linux
 B2G          | 20131007083940 | release    | default                 | 1.3.0.0-prerelease   | linux
 B2G          | 20130621152332 | nightly    | nightly                 | 1.0.1.0-prerelease   | linux
 B2G          | 20130724040538 | nightly    | nightly                 | 1.0.1.0              | linux
 B2G          | 20131028040200 | release    | unagi/1.3.0/default     | 1.3.0.0-prerelease   | linux
 B2G          | 20130804220423 | nightly    | nightly-crespo          | 1.1.0.0hd-prerelease | linux
 B2G          | 20130222024147 | nightly    | nightly                 | 1.0.1.0-prerelease   | linux
 B2G          | 20131030114433 | nightly    | nightly-crespo          | 1.3.0.0-prerelease   | linux
 B2G          | 20131029062253 | release    | default                 | 1.3.0.0-prerelease   | linux
 B2G          | 20131030004003 | nightly    | hamachi/default/nightly | 1.2.0.0-prerelease   | linux
 B2G          | 20131028040200 | nightly    | hamachi/1.3.0/nightly   | 1.3.0.0-prerelease   | linux
 B2G          | 20131014153206 | release    | default                 | 1.3.0.0-prerelease   | linux
 B2G          | 20131002153854 | release    | default                 | 1.2.0.0-prerelease   | linux
 B2G          | 20130723181018 | nightly    | nightly                 | 1.0.1.0              | linux
 B2G          | 20131025004000 | nightly    | hamachi/1.2.0/nightly   | 1.2.0.0-prerelease   | linux
 B2G          | 20130906173233 | nightly    | nightly                 | 1.0.1.0              | linux
 B2G          | 20130613185731 | nightly    | nightly                 | 1.0.1.0-prerelease   | linux
 B2G          | 20131007200705 | nightly    | nightly                 | 1.1.1.0-prerelease   | linux
 B2G          | 20131022134626 | release    | default                 | 1.2.0.0-prerelease   | linux
 B2G          | 20130322070202 | beta       | beta                    | 1.1.0.0-prerelease   | linux
 B2G          | 20131028210310 | release    | default                 | 1.2.0.0-prerelease   | linux
 B2G          | 20131028225522 | release    | default                 | 1.2.0.0-prerelease   | linux
 B2G          | 20130904034500 | release    | default                 | 1.2.0.0-prerelease   | linux
 B2G          | 20131028004002 | beta       | unagi/1.2.0/beta        | 1.2.0.0-prerelease   | linux
 B2G          | 20131030164441 | release    | default                 | 1.3.0.0-prerelease   | linux
 B2G          | 20130603111001 | nightly    | nightly                 | 1.0.1.0-prerelease   | linux


Here are the repositories that we store in product_version_builds: 

breakpad=# select distinct repository from product_version_builds; 
         repository          
-----------------------------
 
 mozilla-central
 mozilla-aurora-android
 mozilla-release
 comm-aurora
 release
 comm-central
 mozilla-aurora
 mozilla-central-android
 mozilla-central-android-xul
 comm-central-trunk
 mozilla-beta
 mozilla-aurora-android-xul
 b2g-release

Repository could be null up until May 2012, so an option would be to leave this field as NULL for B2G if we feel the information isn't useful.


product_version_builds is used in the creation of the following tables: 

reports_clean -- used for identifying betas based on buildid
update_adu.sql -- used for identifying betas based on buildid
update_build_adu.sql -- per-build ADU 
update_crashes_by_user_build.sql -- per-build crashes by user
update_nightly_builds.sql -- counts number of crash reports per build, and number of days a build has been available as of the report date
update_product_versions.sql - creates product_version_builds from releases_raw
update_signatures.sql -- links product_version_ids to signatures based on factors other than the build_id itself
(In reply to Selena Deckelmann :selenamarie :selena from comment #14)
> All it does is indicate that builds with the same buildid but different
> channels are distinct. I can do that with "strange" release channels. I will
> just relax the rules for what we think is ok for release channel value when
> it comes to b2g.

I think esp. in terms of partner builds, the chance of buildid collisions is minimal, so that makes me not much concerned about the value we put there.

>  B2G          | 20131022235139 | release    | default                 |
> 1.3.0.0-prerelease   | linux

Match "default" to "release" sounds wrong to me. From all I'm seeing, occurrences of "default" as the channel are either a case of vendors not following our standards (which is why I mentioned we'll need to do some processor-side rewriting of channels, i.e. case #2 of comment #0) or people building their own builds. In the first case, it depends on what they have been building from to decide what channel to chose, in the latter case, we probably want to ignore the builds and reports completely, just like we do for other products (mostly because we don't ever have symbols for those anyhow and they can have any kind of custom patch).

> reports_clean -- used for identifying betas based on buildid

The beta-matching stuff will be hard if doable at all here anyhow, as we don't do distinct beta builds for B2G.

> update_build_adu.sql -- per-build ADU 

We don't have ADU for B2G at all, and won't for quite some time.

> update_crashes_by_user_build.sql -- per-build crashes by user
> update_nightly_builds.sql -- counts number of crash reports per build, and
> number of days a build has been available as of the report date

The per-build stuff might get interesting once we get more people in testing setups, but that will be far into 2014.
(In reply to Robert Kaiser (:kairo@mozilla.com) from comment #16)
> In the first case, it depends on what they have
> been building from to decide what channel to chose, 

How do we determine this? Does it depend on the B2G_OS_Version, or something else?


> in the latter case, we
> probably want to ignore the builds and reports completely, just like we do
> for other products (mostly because we don't ever have symbols for those
> anyhow and they can have any kind of custom patch).

That's easy to implement.
(In reply to Selena Deckelmann :selenamarie :selena from comment #17)
> (In reply to Robert Kaiser (:kairo@mozilla.com) from comment #16)
> > In the first case, it depends on what they have
> > been building from to decide what channel to chose, 
> 
> How do we determine this? Does it depend on the B2G_OS_Version, or something
> else?

We mostly should be able to key off that, yes. Though I think in the end it's best to set up rules for the processor to rewrite the channel to what it should be in those cases (i.e. to fix our partners' mistakes in the data they send), and then our normal heuristics will work fine.
(In reply to Robert Kaiser (:kairo@mozilla.com) from comment #18)
> (In reply to Selena Deckelmann :selenamarie :selena from comment #17)
> > (In reply to Robert Kaiser (:kairo@mozilla.com) from comment #16)
> > > In the first case, it depends on what they have
> > > been building from to decide what channel to chose, 
> > 
> > How do we determine this? Does it depend on the B2G_OS_Version, or something
> > else?
> 
> We mostly should be able to key off that, yes. 

Can you provide instructions for how to do this mapping?  If not, who can?


> Though I think in the end
> it's best to set up rules for the processor to rewrite the channel to what
> it should be in those cases (i.e. to fix our partners' mistakes in the data
> they send), and then our normal heuristics will work fine.

Thanks for the suggestion.
(In reply to Selena Deckelmann :selenamarie :selena from comment #19)
> (In reply to Robert Kaiser (:kairo@mozilla.com) from comment #18)
> > (In reply to Selena Deckelmann :selenamarie :selena from comment #17)
> > > (In reply to Robert Kaiser (:kairo@mozilla.com) from comment #16)
> > > > In the first case, it depends on what they have
> > > > been building from to decide what channel to chose, 
> > > 
> > > How do we determine this? Does it depend on the B2G_OS_Version, or something
> > > else?
> > 
> > We mostly should be able to key off that, yes. 
> 
> Can you provide instructions for how to do this mapping?  If not, who can?

I should be able to, with some digging. I envision that we probably will need separate rules for every wrongly defined build any partner has released, which are quite a few. But if we go there, we can have "if product, version, and buildid match, then use this channel value" rules which should be pretty precise (but it's quite a list as typically they have put out different builds for every market/country they ship in).

> > Though I think in the end
> > it's best to set up rules for the processor to rewrite the channel to what
> > it should be in those cases (i.e. to fix our partners' mistakes in the data
> > they send), and then our normal heuristics will work fine.
> 
> Thanks for the suggestion.

That's what I actually had in mind with what I put in point 2 of comment #0 :)
(In reply to Robert Kaiser (:kairo@mozilla.com) from comment #20)
> (In reply to Selena Deckelmann :selenamarie :selena from comment #19)
> > (In reply to Robert Kaiser (:kairo@mozilla.com) from comment #18)
> > > (In reply to Selena Deckelmann :selenamarie :selena from comment #17)
> > > > (In reply to Robert Kaiser (:kairo@mozilla.com) from comment #16)
> > > > > In the first case, it depends on what they have
> > > > > been building from to decide what channel to chose, 
> > > > 
> > > > How do we determine this? Does it depend on the B2G_OS_Version, or something
> > > > else?
> > > 
> > > We mostly should be able to key off that, yes. 
> > 
> > Can you provide instructions for how to do this mapping?  If not, who can?
> 
> I should be able to, with some digging. I envision that we probably will
> need separate rules for every wrongly defined build any partner has
> released, which are quite a few. But if we go there, we can have "if
> product, version, and buildid match, then use this channel value" rules
> which should be pretty precise (but it's quite a list as typically they have
> put out different builds for every market/country they ship in).

Given that, I will work on a system for storing mappings for channel based on product, version and buildid. 

Thanks!
This is the info of a sample of crashes that should be rewritten (I'm listing multiple build IDs, so in the end this would expand to 5 entries when added to some rewrite table or such):

Android_Manufacturer: ZTE
Android_Model: roamer2
Android_Version: 15(REL)
B2G_OS_Version: 1.0.1.0-prerelease
BuildID: 20130621133927, 20130621152332, 20130531232151, 20130617105829, 20130724040538
ProductName: B2G
ReleaseChannel: nightly
Version: 18.0


For all those, the ReleaseChannel should be rewritten to "release-zte".


If we cannot filter specifically for all those fields, some part of them should suffice, probably - the BuildID needs to be included for sure, though.
Oh, and BTW, this is the system in the processor that I thought we'd use to rewrite the data to make it fit better: http://www.twobraids.com/2012/02/socorro-rule-system.html
if this bug boils down to the request in comment #22, then the processor rule that would do it could be implemented like this:  https://github.com/twobraids/socorro/compare/release-zte

I can turn this into a pull request if this is really what you want.
(In reply to K Lars Lohn [:lars] [:klohn] from comment #24)
> if this bug boils down to the request in comment #22, then the processor
> rule that would do it could be implemented like this: 
> https://github.com/twobraids/socorro/compare/release-zte
> 
> I can turn this into a pull request if this is really what you want.

Is there a UI for making these changes? I'd prefer to not have to write single SQL statements for every update to these rules for B2G.
(In reply to Selena Deckelmann :selenamarie :selena from comment #25)
> (In reply to K Lars Lohn [:lars] [:klohn] from comment #24)
> > if this bug boils down to the request in comment #22, then the processor
> > rule that would do it could be implemented like this: 
> > https://github.com/twobraids/socorro/compare/release-zte
> > 
> > I can turn this into a pull request if this is really what you want.
> 
> Is there a UI for making these changes? I'd prefer to not have to write
> single SQL statements for every update to these rules for B2G.

We discussed this issue in IRC, and determined that a database table is a better fit for implementing these rules.
Blocks: 965481
Depends on: 968493
Duplicate of this bug: 917976
Assignee: nobody → rhelmer
Status: NEW → ASSIGNED
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Oops! Testing on stageDB and the update_product_versions() changes seem ok, but update_reports_clean() is matching too much.

PR: https://github.com/mozilla/socorro/pull/1943
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Commits pushed to master at https://github.com/mozilla/socorro

https://github.com/mozilla/socorro/commit/3020fa8b51a3daefbd462891d8b8623487806752
fixes bug 928051 - need to restrict update to uuid

https://github.com/mozilla/socorro/commit/33852fb4d905268132ec838eb9c0814a6206ac97
Merge pull request #1943 from rhelmer/bug928051-b2g-reports_clean-followup

fixes bug 928051 - need to restrict update to uuid
Status: REOPENED → RESOLVED
Closed: 6 years ago6 years ago
Resolution: --- → FIXED
Target Milestone: --- → 78
Blocks: 1021048
You need to log in before you can comment on or make changes to this bug.