Issues related to deleting and undeleting/restoring pages and revisions (via action=delete and Special:Undelete). (Documentation)
This project is part of the core MediaWiki software itself.
Parent project: MediaWiki-General
Issues related to deleting and undeleting/restoring pages and revisions (via action=delete and Special:Undelete). (Documentation)
This project is part of the core MediaWiki software itself.
Parent project: MediaWiki-General
Perhaps ar_parent_id could be populated for rows with ar_page_id set, such a script could check both the revision and archive tables to find the parent rev ID. If ar_page_id is NULL, I suppose it could guess passed on the archive table (title,time) alone.
@aaron , would like your help triaging this one.
In T425893#11955443, @HCoplin-WMF wrote:Adding to @KineticPelagic 's comment -- could we get a #/% of files that have a number of edits that go beyond the threshold? I agree that we should not necessarily have an upper bound in place, but I would like to get a better sense of how commonly folks are running into this for prioritization purposes.
In T425893#12127513, @Urbanecm wrote:However, do note that it's relatively straightforward to create such file (as an attacker), and this task removes the community's ability to handle such a file.
In T425893#12127484, @JTweed-WMF wrote:How common is it for files to have a very large number of revisions?
This may come under Media Platform scope, but I have the same question as @HCoplin-WMF. How common is it for files to have a very large number of revisions?
Confirmed that this bug is fixed, so closing.
Based on the code flow here, this problem appears to have already been fixed:
} else { if ( $onlyAuthor ) { $reason = wfMessage( 'excontentauthor', '$1', $onlyAuthor )->inContentLanguage()->text(); } else { $reason = wfMessage( 'excontent', '$1' )->inContentLanguage()->text(); } } if ( $reason == '-' ) { // Allow these UI messages to be blanked out cleanly return ''; } // Max content length = max comment length - length of the comment (excl. $1) $maxLength = CommentStore::COMMENT_CHARACTER_LIMIT - ( strlen( $reason ) - 2 ); $text = $content ? $content->getTextForSummary( $maxLength ) : ''; if ( $blank && !$text ) { // Don't display "content before blanking was ''" as misleading // This can happen if the content before blanking was two unclosed square brackets, for example // Do display `content was ""` if the page was always blank, though return false; } // Now replace the '$1' placeholder $reason = str_replace( '$1', $text, $reason ); return $reason; }
I just tested this on testwiki, and it can be seen to work as expected.
https://en.wikipedia.org/wiki/Special:Undelete/Feted_Inner_Core shows the revision sizes instead of the byte changes:
Patches will wait for https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1302993
Change #1303577 merged by jenkins-bot:
[mediawiki/core@master] lockmanager: avoid pointless retries in LockManager::lockByType
As part of my Clinic Duty rotation, I keep this task with MW-Interfaces-Team because we are maintainers of Page deletion. I move the task to "Needs Further Discussion" because we need discussion on prioritization and on the unknown about whether the code in Translate can be migrated, too.