Page MenuHomePhabricator

Order of operations has changed in AbuseFilters
Closed, ResolvedPublic

Event Timeline

Nirmos triaged this task as Unbreak Now! priority.Oct 19 2016, 6:58 PM

Technically speaking

cond | cond

now needs to be changed to

(cond | cond)

Nirmos renamed this task from Edits trigger all AbuseFilters to Order of operations has changed in AbuseFilters.Oct 20 2016, 12:48 AM
cond | cond & cond

used to be interpreted as

( cond | cond ) & cond

but is now interpreted as

cond | ( cond & cond )

Change 316917 had a related patch set uploaded (by Legoktm):
Revert "Enable AbuseFilterCachingParser by default"

Change 316917 merged by jenkins-bot:
Revert "Enable AbuseFilterCachingParser by default"

Mentioned in SAL (#wikimedia-operations) [2016-10-20T01:17:35Z] <legoktm@mira> Synchronized wmf-config/InitialiseSettings.php: Revert Enable AbuseFilterCachingParser by default - T148673 (duration: 00m 51s)

Legoktm claimed this task.
Legoktm added subscribers: vvv, ori, Legoktm.

Should be reverted for now. CC: @ori and @vvv

Oh, leaving open as someone presumably needs to fix the new AbuseFilterCachingParser.

Legoktm lowered the priority of this task from Unbreak Now! to Medium.Oct 20 2016, 1:20 AM

The specific change which happened, as far as I understand it, is that the precedence remained the same, but apparently the new parser treats boolean operators as right-associative, whereas it used to treat them as left-associative. This is an oversight on my part. I will write a patch to fix that and add tests.

@vvv, are you still planning on working on this?