Page MenuHomePhabricator

The EditGroups tool needs new maintainer(s)
Closed, ResolvedPublic

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

I can give a helping hand if needed to maintain this tool. I am a software developer. Developed applications using Django DRF. I don't know much about this tool. If I can get an good advice then that will be helpfull.

This is fantastic, thank you so much for offering your help! Is it okay if I follow up by email to coordinate your onboarding? We could have a quick call to walk through the codebase together, work through the process of making a small change to the tool and make sure you're able to deploy it.

Hello, it's me! And other people interested, feel free to maintain it together :D

Pintoch awarded a token.

Fantastic, thank you so much!