Page MenuHomePhabricator

[wmf.12 -regression] ORES filters do not work
Closed, ResolvedPublic

Description

On RC/Watchlist pages any combination of ORES filters won't display any results.

Event Timeline

I confirmed that the ores_classification table is still updated, it's just that the UI isn't interpreting anything as having a score. Highlighting by ORES score highlights nothing, and filtering by ORES score lists zero results after taking 10+ seconds.

Catrope triaged this task as Unbreak Now! priority.Dec 15 2017, 12:44 AM
Restricted Application added subscribers: Liuxinyu970226, Jay8g, TerraCodes. · View Herald Transcript

I captured the main RC query from logstash:

SELECT  /*! STRAIGHT_JOIN */ rc_id,rc_timestamp,rc_user,rc_user_text,rc_namespace,rc_title,rc_minor,rc_bot,rc_new,rc_cur_id,rc_this_oldid,rc_last_oldid,rc_type,rc_source,rc_patrolled,rc_ip,rc_old_len,rc_new_len,rc_deleted,rc_logid,rc_log_type,rc_log_action,rc_params,rc_comment AS `rc_comment_text`,NULL AS `rc_comment_data`,NULL AS `rc_comment_cid`,wl_user,wl_notificationtimestamp,page_latest,(SELECT  GROUP_CONCAT(ct_tag SEPARATOR ',')  FROM `change_tag`    WHERE ct_rc_id=rc_id  ) AS `ts_tags`,fp_stable,fp_pending_since,ores_damaging_cls.oresc_probability AS `ores_damaging_score`,ores_goodfaith_cls.oresc_probability AS `ores_goodfaith_score`
FROM `recentchanges`
LEFT JOIN `watchlist` ON (wl_user = '22559448' AND (wl_title=rc_title) AND (wl_namespace=rc_namespace))
LEFT JOIN `page` ON ((rc_cur_id=page_id))
LEFT JOIN `flaggedpages` ON ((fp_page_id = rc_cur_id)) LEFT JOIN `ores_classification` `ores_damaging_cls` ON (ores_damaging_cls.oresc_model = '25' AND ores_damaging_cls.oresc_rev = 'rc_this_oldid' AND ores_damaging_cls.oresc_class = '1')
LEFT JOIN `ores_classification` `ores_goodfaith_cls` ON (ores_goodfaith_cls.oresc_model = '27' AND ores_goodfaith_cls.oresc_rev = 'rc_this_oldid' AND ores_goodfaith_cls.oresc_class = '1') 
WHERE (rc_bot = 0)
AND (rc_type != '6')
AND (rc_source != 'wb')
AND ((ores_damaging_cls.oresc_probability BETWEEN 0 AND 0.258))
AND (rc_type NOT IN ('3','5'))
AND (rc_timestamp >= '20171208004131')
AND rc_new IN ('0','1')
ORDER BY rc_timestamp DESC
LIMIT 100

And I think the culprit is pretty clear: ores_damaging_cls.oresc_rev = 'rc_this_oldid' is incorrect, and should have been ores_damaging_cls.oresc_rev = rc_this_oldid.

Etonkovidova renamed this task from [wmf.12 -regression] ORES damaging filters do not work to [wmf.12 -regression] ORES filters do not work .Dec 15 2017, 12:48 AM
Etonkovidova updated the task description. (Show Details)

Change 398397 had a related patch set uploaded (by Catrope; owner: Catrope):
[mediawiki/extensions/ORES@master] Follow-up 36748ca523: fix broken join conditions

https://gerrit.wikimedia.org/r/398397

Change 398397 merged by jenkins-bot:
[mediawiki/extensions/ORES@master] Follow-up 36748ca523: fix broken join conditions

https://gerrit.wikimedia.org/r/398397

Change 398401 had a related patch set uploaded (by Catrope; owner: Catrope):
[mediawiki/extensions/ORES@wmf/1.31.0-wmf.12] Follow-up 36748ca523: fix broken join conditions

https://gerrit.wikimedia.org/r/398401

Change 398401 merged by jenkins-bot:
[mediawiki/extensions/ORES@wmf/1.31.0-wmf.12] Follow-up 36748ca523: fix broken join conditions

https://gerrit.wikimedia.org/r/398401

Mentioned in SAL (#wikimedia-operations) [2017-12-15T01:23:03Z] <catrope@tin> Synchronized php-1.31.0-wmf.12/extensions/ORES: Fix broken join conditions (T182936) (duration: 00m 57s)

Checked the fix in enwiki (wmf.12) - ORES filters seem to work as expected.