Use master DB to check for page existence during import
authorThis, that and the other <at.light@live.com.au>
Tue, 22 Jul 2014 02:02:39 +0000 (12:02 +1000)
committerLegoktm <legoktm.wikipedia@gmail.com>
Sat, 26 Jul 2014 06:54:50 +0000 (06:54 +0000)
By default, slaves are used for the existence check. However, in the case
of importing many revisions of the one page, the chances are that they
won't have caught up to the fact that that page has just been created,
causing site statistics to be incorrectly updated. We need to use the
master DB for this check.

Bug: 40009
Change-Id: I301353fb976a982f58635b87d9960d81fc541d14

includes/Import.php

index 8eab3be..1448279 100644 (file)
@@ -1503,6 +1503,7 @@ class WikiRevision {
                $linkCache->clear();
 
                $page = WikiPage::factory( $this->title );
+               $page->loadPageData( 'fromdbmaster' );
                if ( !$page->exists() ) {
                        # must create the page...
                        $pageId = $page->insertOn( $dbw );