If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

remove product_release_channels

NEW
Unassigned

Status

Socorro
Database
2 months ago
28 days ago

People

(Reporter: willkg, Unassigned)

Tracking

(Blocks: 1 bug)

Firefox Tracking Flags

(Not tracked)

Details

We have two tables: product_build_types and product_release_channels. They have identical data in -prod:

product_build_types:

breakpad=> select * from product_build_types;
    product_name     | build_type |        throttle        
---------------------+------------+------------------------
 Firefox             | esr        | 1.00000000000000000000
 Fennec              | esr        | 1.00000000000000000000
...

product_release_channels:

breakpad=> select * from product_release_channels;
    product_name     | release_channel |        throttle        
---------------------+-----------------+------------------------
 Firefox             | ESR             | 1.00000000000000000000
 Fennec              | ESR             | 1.00000000000000000000
...

The only difference is the column name (build_type vs. release_channel) and casing.

In the code are these notes:

https://github.com/mozilla-services/socorro/blob/e42a8b60e54d3b450e8b3fda1936a7c500196bfd/socorro/external/postgresql/models.py#L950

https://github.com/mozilla-services/socorro/blob/e42a8b60e54d3b450e8b3fda1936a7c500196bfd/socorro/external/postgresql/models.py#L276

Those are from 2014:

https://github.com/mozilla-services/socorro/commit/bf040c137bd3a827972802d54c015e818de5f061


This bug covers switching everything to use product_build_types and removing product_release_channels which was deprecated in 2014.
Oh nice! Both tables are actively used but from various queries and stored procedures. 
If you normalize the release_channel/build_type column, the only actual difference between the two tables is:

▶ diff product_build_types.csv product_release_channels.csv
37,41c37
< TestProductAdrian,AURORA,1.0
< TestProductAdrian,BETA,1.0
< TestProductAdrian,ESR,1.0
< TestProductAdrian,NIGHTLY,1.0
< TestProductAdrian,RELEASE,1.0
---
> TestProductAdrian,RELEASE,1


Perhaps it'll be easier to decide which one to keep once we've deprecated more of the "crashes_per_*.sql" stuff. E.g. https://bugzilla.mozilla.org/show_bug.cgi?id=1390847

One thing that bothers me is that the product_build_types table's build_type column is custom type (called `build_type`) whereas the product_release_channels is just a regular CITEXT type. Thus, it'd be nice to avoid custom types and instead keep product_release_channels (opposing the last paragraph in the bug description above).
You need to log in before you can comment on or make changes to this bug.