Last modified: 2013-11-06 05:20:35 UTC
See https://nl.wikipedia.org/wiki/Speciaal:Terugplaatsen/Robert_Hardeman ----- Deletion log (show/hide) 15:31, 1 September 2013 Kattenkruid (Talk | contribs | block) deleted page Robert Hardeman (dit gaat niet goed) (view/restore) (show/hide) 22:31, 31 August 2013 Kattenkruid (Talk | contribs | block) deleted page Robert Hardeman (Geklieder of ander vandalisme: De inhoud was: "Robert ook steunt Robert de jacht op dolfijnen want die hebben het dol fijn in de zee en smaken lekker net als kip!!, zelf is hij ook een grote Fan van ..." ([[Special:Contrib...) (view/restore) Suppression log No matching items in log. Page history There is no edit history for this page. ----- The page wasn't restored and renamed. It was deleted two times (why? went the deletion wrong?) and the deleted edits suddenly disappeared. The edit, however, is still visible in the recent changes as it seems and can't be marked. Can someone look at this and maybe fix it so that the items are visible again?
Most likely WMW issue; data loss -> critical.
Why was this moved to media storage. Page is not an image (?)
Oops, sorry, my fault.
The binlogs show: * The article was created by an anonymous user at 2013-08-31 20:30:09 * The article was edited by Ronn at 20:31:00, apparently tagging it for deletion * Later in the same second (20:31:00), the article was deleted by Kattenkruid The deletion action went awry. The revisions were copied into the archive table, but they were never deleted from the revision table. The most likely reason for this appears to be a failure of WikiPage::getContent(). The binlog shows WikiPage::onArticleDelete() and SiteStatsUpdate completing successfully, and there was no exception log entry, so it seems that DataUpdate::runUpdates( $updates ) silently did nothing. The !$content case in WikiPage::getDeletionUpdates() seems like a possible culprit. With the ContentHandler project, the critical database consistency action of deleting the revisions from the revision table was moved to LinksDeletionUpdate, and is dependent on the content type. This appears to be an error -- page/revision/archive consistency is not content-type-dependent. In MW 1.5, the revision table delete was well-separated from the link table updates, but they were brought together in r15707, and subsequent refactoring inappropriately maintained this close association. After the botched deletion, the binlogs show: * At 2013-09-01 13:29:57, Kattenkruid attempted to undelete the article. No revisions were inserted into the revision table, presumably because the if ( $exists ) case was hit in PageArchive::undeleteRevisions(). The archive table rows were deleted. The action was not logged, so presumably there was some kind of additional failure. At this point, there would have been a page with no revisions, which is not normally possible. * At 13:31:21, Kattenkruid deleted the revisionless page. * At 2013-09-04 20:26:37, "Look Sharp!" recreated the page by editing it. * At 20:26:47, "Look Sharp!" deleted the page, generating one archive row. The orphaned revision rows are still present in the table (rev_ids 38833406, 38833414), and I can easily recover them by connecting them to a page.
Added Daniel Kinzler to the CC list, since he is a relevant developer.
Created attachment 13415 [details] Binlog excerpt Some relevant binlog entries, with annotations
(In reply to comment #4) > The binlogs show: > > * The article was created by an anonymous user at 2013-08-31 20:30:09 > * The article was edited by Ronn at 20:31:00, apparently tagging it for > deletion > * Later in the same second (20:31:00), the article was deleted by Kattenkruid > > The deletion action went awry. The revisions were copied into the archive > table, but they were never deleted from the revision table. The most likely > reason for this appears to be a failure of WikiPage::getContent(). The binlog > shows WikiPage::onArticleDelete() and SiteStatsUpdate completing > successfully, > and there was no exception log entry, so it seems that > DataUpdate::runUpdates( > $updates ) silently did nothing. The !$content case in > WikiPage::getDeletionUpdates() seems like a possible culprit. > > With the ContentHandler project, the critical database consistency action of > deleting the revisions from the revision table was moved to > LinksDeletionUpdate, and is dependent on the content type. This appears to be > an error -- page/revision/archive consistency is not content-type-dependent. > In > MW 1.5, the revision table delete was well-separated from the link table > updates, but they were brought together in r15707, and subsequent refactoring > inappropriately maintained this close association. > > After the botched deletion, the binlogs show: > > * At 2013-09-01 13:29:57, Kattenkruid attempted to undelete the article. No > revisions were inserted into the revision table, presumably because the if ( > $exists ) case was hit in PageArchive::undeleteRevisions(). The archive table > rows were deleted. The action was not logged, so presumably there was some > kind > of additional failure. At this point, there would have been a page with no > revisions, which is not normally possible. > > * At 13:31:21, Kattenkruid deleted the revisionless page. > * At 2013-09-04 20:26:37, "Look Sharp!" recreated the page by editing it. > * At 20:26:47, "Look Sharp!" deleted the page, generating one archive row. > > The orphaned revision rows are still present in the table (rev_ids 38833406, > 38833414), and I can easily recover them by connecting them to a page. Thanks for the detailed explanation, Tim! Yes, please, could you recover the deleted edits? (if it's not too much) I'm intended to restore the page or so, but it's always useful to have all the contribs and deleted contribs around. Also: is it possible to check whether this has happened elsewhere too?
(In reply to comment #7) > Thanks for the detailed explanation, Tim! Yes, please, could you recover the > deleted edits? (if it's not too much) I'm intended to restore the page or so, > but it's always useful to have all the contribs and deleted contribs around. Done. > Also: is it possible to check whether this has happened elsewhere too? I will work on it.
The content of attachment 13415 [details] has been deleted by Tim Starling <tstarling@wikimedia.org> who provided the following reason: contains private IP address The token used to delete this attachment was generated at 2013-10-04 02:22:01 UTC.
Change 87505 had a related patch set uploaded by Tim Starling: Fix revision table cleanup on delete https://gerrit.wikimedia.org/r/87505
Change 87505 merged by jenkins-bot: Fix revision table cleanup on delete https://gerrit.wikimedia.org/r/87505
Change 88632 had a related patch set uploaded by Aaron Schulz: Fix revision table cleanup on delete https://gerrit.wikimedia.org/r/88632
Change 88632 merged by jenkins-bot: Fix revision table cleanup on delete https://gerrit.wikimedia.org/r/88632
Change 88667 had a related patch set uploaded by Aaron Schulz: Fix revision table cleanup on delete https://gerrit.wikimedia.org/r/88667
Change 88667 merged by Aaron Schulz: Fix revision table cleanup on delete https://gerrit.wikimedia.org/r/88667
Change 88671 had a related patch set uploaded by Aaron Schulz: Fix revision table cleanup on delete https://gerrit.wikimedia.org/r/88671
Change 88671 abandoned by Aaron Schulz: Fix revision table cleanup on delete https://gerrit.wikimedia.org/r/88671
Change 88686 had a related patch set uploaded by Aaron Schulz: Fix revision table cleanup on delete https://gerrit.wikimedia.org/r/88686
Change 88686 merged by jenkins-bot: Fix revision table cleanup on delete https://gerrit.wikimedia.org/r/88686
Change 88761 had a related patch set uploaded by Aaron Schulz: Fixed trx isolation bug that could cause text not to be found https://gerrit.wikimedia.org/r/88761
Change 88761 merged by jenkins-bot: Fixed trx isolation bug that could cause text not to be found https://gerrit.wikimedia.org/r/88761
Is more work needed or can this be considered FIXED?
Change 93645 had a related patch set uploaded by Tim Starling: [WIP] Script to fix bug 53687 (failure of revision row deletion) https://gerrit.wikimedia.org/r/93645
Change 93645 merged by jenkins-bot: Script to fix bug 53687 (failure of revision row deletion) https://gerrit.wikimedia.org/r/93645
I ran the cleanup script on all affected wikis except Wikidata. On wikidatawiki, the dry run output was unusual, indicating the presence of another bug. So this bug is close enough to fixed for me.