[prod] Hang reports are missing for all releases

RESOLVED FIXED in 2.3.4

Status

Socorro
General
--
critical
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: mbrandt, Assigned: jberkus)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(URL)

(Reporter)

Description

6 years ago
I am unable to find hang reports for any of the releases.

Steps to reproduce:
1. goto url

Actual:
No reports is generated

Expected:
A report is generated
Looks like this has been around for a while, looks like we didn't actually ever enable the cronjob was never enabled (oops) so this has only been populated by various backfilling actions (of which there have been several).

This is now re-enabled, but the update_hang_report stored procedure does not seem to be working:

Traceback (most recent call last):
  File "/data/socorro/application/scripts/startHangReport.py", line 30, in <module>
    hangReport.run(config)
  File "/data/socorro/application/socorro/cron/hangReport.py", line 19, in run
    cursor.callproc('update_hang_report', [startTime])
psycopg2.ProgrammingError: missing FROM-clause entry for table "plugin_info"
LINE 27:     AND utc_day_is(plugin_info.date_processed, updateday)
                            ^
QUERY:  INSERT INTO daily_hangs ( uuid, plugin_uuid, report_date,
        product_version_id, browser_signature_id, plugin_signature_id,
        hang_id, flash_version_id, duplicates, url )
SELECT
    min(browser.uuid) ,
    plugin.uuid,
    updateday as report_date,
    min(browser.product_version_id),
    min(browser.signature_id),
    plugin.signature_id AS plugin_signature_id,
    plugin.hang_id,
    plugin.flash_version_id,
    nullif(array_agg(browser.duplicate_of) 
        || COALESCE(ARRAY[plugin.duplicate_of], '{}'),'{NULL}'),
    min(browser_info.url)
FROM reports_clean AS browser
    JOIN reports_clean AS plugin ON plugin.hang_id = browser.hang_id
    LEFT OUTER JOIN reports_user_info AS browser_info ON browser.uuid = browser_info.uuid
    JOIN signatures AS sig_browser
        ON sig_browser.signature_id = browser.signature_id
WHERE sig_browser.signature LIKE 'hang | %'
    AND browser.hang_id != ''
    AND browser.process_type = 'browser'
    AND plugin.process_type = 'plugin'
    AND utc_day_near(browser.date_processed, updateday)
    AND utc_day_is(plugin.date_processed, updateday)
    AND utc_day_is(plugin_info.date_processed, updateday)
GROUP BY plugin.uuid, plugin.signature_id, plugin.hang_id, plugin.flash_version_id,
        plugin.duplicate_of
CONTEXT:  PL/pgSQL function "update_hang_report" line 24 at SQL statement
Assignee: nobody → josh
(Assignee)

Comment 2

6 years ago
Fix written and tested on StageDB.

mbrandt, please verify via the UI.
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED

Updated

6 years ago
Target Milestone: --- → 2.3.4
(Reporter)

Comment 3

6 years ago
thank you :jberkus, I will verify once stagedb is done being reloaded. Currently the app is returning at 500.
Component: Socorro → General
Product: Webtools → Socorro
You need to log in before you can comment on or make changes to this bug.