Page MenuHomePhabricator

The EditGroups tool needs new maintainer(s)
Open, Needs TriagePublic

Description

The EditGroups tool is used on Wikidata (docs, tool) and Wikimedia Commons (docs, tool) to undo certain bot runs. It is considered for deployment on Wikibase.Cloud too, in T330387

For instance, after running a QuickStatements batch in Wikidata, one can click the "Undo" button in QuickStatements, which leads to the EditGroups tool.

It can also be used to get an overview of bot activity.

I am struggling to maintain this tool (see those bug reports which linger for some time) and would welcome help from other maintainers.

This tool being dysfunctional has impacts on the Wikidata and Wikimedia Commons communities, as undoing erroneous bot imports becomes much more time-consuming.

The tool has high test coverage and is thoroughly documented. It is written in Python with the Django REST Framework and Celery as task runner (see git repository).

EditGroups could also be replaced by other tools. For instance T203557 suggests to replace parts of its functionality by a MediaWiki extension.

Event Timeline

One change that might help EditGroups stability would be switching from the Toolforge shared Redis to a local Redis service. This is speculation on my part, but I feel that there was a correlation between reports of connectivity issues with the shared Redis instance and the rise of tools attempting to use it as the data store for Celery workers. Moving to a local Redis would eliminate noisy neighbor issues with the tool's view of the service.

That's a move I have already done, and it did help with making the service more stable indeed.
The remaining issues I am aware of:

  • Celery workers getting killed, probably because of memory usage, meaning that revert tasks get interrupted. I have played a bit with the concurrency and memory allocation settings to make this happen less often, but solving the root cause of the problem would be better
  • A need to migrate out of EventStreams to recent changes polling (I guess?) to make it possible to deploy the tool on other wikis (for instance Wikibase.Cloud)
  • Need for ongoing care for the tool to make sure it stays in sync with the wikis (if it stays out of sync for longer than what the EventStream covers, we miss edits)
  • Various other issues as recorded on the issue tracker: https://github.com/Wikidata/editgroups/issues