Page MenuHomePhabricator

Remove deprecated ApiQueryDeletedRevs
Open, Needs TriagePublic0 Estimated Story Points

Description

ApiQueryDeletedRevs has been deprecated since MediaWiki 1.25. https://logstash.wikimedia.org/goto/c6b7fd86fefc899a0d929dcbaef59386 shows few users remain, so we should be good to start the process of removing it (which would mean we won't have to worry about fixing it for MCR Revision-class deprecations).

  • Notify the operator of the one bot using the module.
  • Identify user scripts used by the top users.
    • Fix those scripts or notify their maintainers.
  • Schedule removal version.
  • Announce pending removal (to mediawiki-api-announce and User-notice).
  • Perform removal.

Event Timeline

Anomie created this task.Apr 25 2019, 3:53 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptApr 25 2019, 3:53 PM
Nirmos added a subscriber: Nirmos.Apr 26 2019, 8:32 AM

@Anomie can you check if there are still uses on logstash?
I suggest trying to remove before 1.35 is shipped

Restricted Application added a project: Platform Engineering. · View Herald TranscriptMar 12 2020, 7:00 PM

Yes, there are still uses. :) The logstash query (_type:"mediawiki" AND channel:"api-feature-usage" AND feature.raw:"action=query&list=deletedrevs"; last 30d) times out for me now, so I'll just pull data for the last 14 days.

For the last 14days I see 263195 matches in Logstash, triggered by dozens of usernames.
The top three usernames which make up 98.67% of the matches are:

  • agent: csd-o3.py (User: @jimmyxu ); username Jimmy-abot on zhwiki
  • agent: a Firefox version I'm not going to expose in public; username @dungodung on srwiki
  • agent: a Firefox version I'm not going to expose in public; username Guettarda on enwiki

Is this the reason why https://sv.wikipedia.org/wiki/MediaWiki:Gadget-MarkDeletedPages.js is acting up? Is there a replacement strategy or do I just remove the gadget?

I have removed the calls from my bot. Thanks for the ping.

No. That gadget is not using the module in question. The deprecated module is list=deletedrevs, but the gadget is using prop=deletedrevisions.

Also the deprecated module has not been removed yet.

Anomie moved this task from Inbox to Icebox on the Platform Engineering board.Mar 16 2020, 2:57 PM

@DannyS712: After filtering out Jimmy-abot, there are about 29K uses in the past 30 days. That's low enough that

If it helps, here are the results of some searches for pages containing "deletedrevs". There's in general no way to know which are the ones actually being used though, versus copies of scripts that no one actually uses anymore. At a glance, probably if you notify the gadgets' talk pages and https://en.wikipedia.org/wiki/WT:JWB that would probably catch most remaining uses.

anomie@mwmaint1002:~$ mwgrep deletedrevs
arwiki              MediaWiki:Gadget-AjaxMove/Flash.js
fawiki              MediaWiki:Gadget-igloo/flash.js
hewiki              MediaWiki:Gadget-RestoreWarnings.js
hewikisource        MediaWiki:Gadget-UserTemplates.js
ptwiki              MediaWiki:Gadget-fastbuttons.js/core.js
ruwiki              MediaWiki:Tool/CombinedContribs.js
testwiki            MediaWiki:Gadget-fastbuttons.js/core.js
ukwiki              MediaWiki:MassRollback/Flash.js

(total: 8, shown: 8)
anomie@mwmaint1002:~$ mwgrep --user deletedrevs
cawiki              User:Gerardduenas/MediaWiki:Gadget-fastbuttons.js/core.js
commonswiki         User:Animum/revdelete.js
commonswiki         User:Kanonkas/ajaxbatchundelete.js
enwiki              User:Ascii002/AWB.js
enwiki              User:Colin M/scripts/JWB annotated.js
enwiki              User:Decltype/monobook.js
enwiki              User:Decltype/monobook.js
enwiki              User:DemocraticLuntz/CenPop.js
enwiki              User:DemocraticLuntz/CenPopExternal.js
enwiki              User:DemonDays64/JWB Annotated.js
enwiki              User:Erutuon/scripts/JWB.js
enwiki              User:Erutuon/scripts/JWB.js
enwiki              User:Hackerboyas/AWB.js
enwiki              User:Joeytje50/JWB.js
enwiki              User:Josve05a/AWB.js
enwiki              User:Josve05a/AWB.js
enwiki              User:Js/tools/combinedContribs.js
enwiki              User:Js/tools/combinedContribs.js
enwiki              User:Kangaroopower/Flash.js
enwiki              User:Kashmiri/Flash.js
enwiki              User:Kashmiri/Flash.js
enwiki              User:Kashmiri/JWB.js
enwiki              User:Kashmiri/JWB.js
enwiki              User:Masumrezarock100/JWB.js
enwiki              User:Masumrezarock100/JWB.js
enwiki              User:NJA/monobook.js
enwiki              User:NJA/monobook.js
enwiki              User:Seresin/monobook.js
enwiki              User:Seresin/monobook.js
enwiki              User:Shrikarsan/shri.js
enwiki              User:Shrikarsan/shri.js
enwiki              User:Splarka/ajaxbatchundelete.js
enwiki              User:Tcncv/twinkleundelete.js
enwiki              User:Tcncv/twinkleundelete.js
enwiki              User:The Transhumanist/AWE.js
enwiki              User:The Transhumanist/AWE.js
enwiki              User:The Transhumanist/JWB.js
enwiki              User:The Transhumanist/JWB.js
enwiki              User:XXN/JWB.js
enwiki              User:XXN/JWB.js
etwiki              User:Id508317/JWB.js
frwiki              User:Simon Villeneuve/AWB.js
glwiki              User:DannyS712/JWB.js
glwiki              User:Elisardojm/JWB.js
hawiki              User:Shrikarsan/shri.js
hewiki              User:AdiNargasi/common.js
hewiki              User:Bharel/סקריפטים/64-min.js
hewiki              User:Bharel/סקריפטים/64-new-min.js
hewiki              User:Bharel/סקריפטים/64-new.js
hewiki              User:Bharel/סקריפטים/64.js
hewiki              User:Eldad/new-64.js
hewiki              User:Ofekalef/script64.js
hewiki              User:Uziel302/JWB.js
hewiki              User:Yonidebest/monobook.js/addAuthorOfDeletedPage.js
hewiki              User:דגש חזק/common.js
hewiki              User:יוסאריאן/vector.js/afterdelete warning.js
hiwiki              User:Jayprakash12345/AWB.js
idwiki              User:Hidayatsrf/JWB.js
idwiki              User:Hidayatsrf/JWB.js
idwiki              User:Lord Yeager/Peralatan/Flash.js
idwiki              User:Lord Yeager/Peralatan/Flash.js
itwikinews          User:Airon90/LiveRC.js
jawiki              User:青子守歌/即時削除に対する統計的解析/script.js
metawiki            User:SADIQUI/test.js
metawiki            User:User1nw/global.js/buttons.js
plwiki              User:Electron/JWB.js
ptwiki              User:Chicocvenancio/Testes/fb.js/core.js
ptwiki              User:DarwIn/Gadget-fastbuttons.js/core.js
ptwiki              User:Gaèlic/MediaWiki:Gadget-fastbuttons.js
ptwiki              User:Max51/Testes/MediaWiki:Gadget-fastbuttons.js
ptwiki              User:Tonelada/Testes/MediaWiki:Gadget-fastbuttons.js
ptwikinews          User:Micael D./Gadget-fastbuttons.js/core.js
ptwikiversity       User:Guga1248/common.js/MediaWiki:Gadget-speedbuttons/core.js
ptwikivoyage        User:Guga1248/Gadget-fastbuttons.js/core.js
ptwikivoyage        User:Mr. Fulano/MediaWiki:Gadget-fastbuttons.js/core.js
simplewiki          User:Operator873/Flash.js
srwiki              User:Dungodung/monobook.js
testwiki            User:!Silent/teste2.js
testwiki            User:Abelmoschus Esculentus/Testing3.js
testwiki            User:Killarnee/commons.js
testwiki            User:Vermont/fastbuttons.js/core.js
wikidatawiki        User:JJBullet/Flash.js
zhwiki              User:Bluedecktest2015110150122/common.js
zuwiki              User:Shriheeran/robo.js
zuwiki              User:ShriheeranBOT/robo.js

(total: 85, shown: 85)