[MediaWiki-l] update.php failing with message from LoadBalancer.php

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[MediaWiki-l] update.php failing with message from LoadBalancer.php

Mike Brown
I'm upgrading a MediaWiki 1.30 installation to 1.32.

I already updated my backend from MySQL 5.6.40 to 5.7.25 and ran
mysql_upgrade. I also replaced PHP 5.6.36 with PHP 7.2.17.

I installed MW 1.32.0 and am now trying to run the update.php script in the
maintenance directory. I get the following error:

MediaWiki 1.32.0 Updater

Your composer.lock file is up to date with current dependencies!
[20cebd8c9a3916038d1b3632] [no req]   UnexpectedValueException from line 961 of /usr/local/www/mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php:
Got connection to 'OffsetDB-mw_', but expected local domain ('OffsetDB-mediawiki-mw_').
Backtrace:
#0 /usr/local/www/mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php(890): Wikimedia\Rdbms\LoadBalancer->openLocalConnection(integer, integer)
#1 /usr/local/www/mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php(766): Wikimedia\Rdbms\LoadBalancer->openConnection(integer, boolean, integer)
#2 /usr/local/www/mediawiki/includes/GlobalFunctions.php(2694): Wikimedia\Rdbms\LoadBalancer->getConnection(integer, array, boolean)
#3 /usr/local/www/mediawiki/maintenance/Maintenance.php(1353): wfGetDB(integer, array, boolean)
#4 /usr/local/www/mediawiki/maintenance/update.php(147): Maintenance->getDB(integer)
#5 /usr/local/www/mediawiki/maintenance/doMaintenance.php(94): UpdateMediaWiki->execute()
#6 /usr/local/www/mediawiki/maintenance/update.php(248): require_once(string)
#7 {main}


My db config vars haven't changed. Nothing too bizarre...

$wgDBtype           = "mysql";
$wgDBserver         = "localhost";
$wgDBname           = "OffsetDB";
$wgDBport           = "5432";
$wgDBprefix         = "mw_";


How can I get past the error? Or let me know what other info to provide to
help diagnose. Thanks!

_______________________________________________
MediaWiki-l mailing list
To unsubscribe, go to:
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
Reply | Threaded
Open this post in threaded view
|

Re: update.php failing with message from LoadBalancer.php

kghbln
Comletely remove

$wgDBport           = "5432";

and see if it works.


Am 06.04.19 um 23:15 schrieb Mike Brown:

> I'm upgrading a MediaWiki 1.30 installation to 1.32.
>
> I already updated my backend from MySQL 5.6.40 to 5.7.25 and ran
> mysql_upgrade. I also replaced PHP 5.6.36 with PHP 7.2.17.
>
> I installed MW 1.32.0 and am now trying to run the update.php script in the
> maintenance directory. I get the following error:
>
> MediaWiki 1.32.0 Updater
>
> Your composer.lock file is up to date with current dependencies!
> [20cebd8c9a3916038d1b3632] [no req]   UnexpectedValueException from line 961 of /usr/local/www/mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php:
> Got connection to 'OffsetDB-mw_', but expected local domain ('OffsetDB-mediawiki-mw_').
> Backtrace:
> #0 /usr/local/www/mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php(890): Wikimedia\Rdbms\LoadBalancer->openLocalConnection(integer, integer)
> #1 /usr/local/www/mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php(766): Wikimedia\Rdbms\LoadBalancer->openConnection(integer, boolean, integer)
> #2 /usr/local/www/mediawiki/includes/GlobalFunctions.php(2694): Wikimedia\Rdbms\LoadBalancer->getConnection(integer, array, boolean)
> #3 /usr/local/www/mediawiki/maintenance/Maintenance.php(1353): wfGetDB(integer, array, boolean)
> #4 /usr/local/www/mediawiki/maintenance/update.php(147): Maintenance->getDB(integer)
> #5 /usr/local/www/mediawiki/maintenance/doMaintenance.php(94): UpdateMediaWiki->execute()
> #6 /usr/local/www/mediawiki/maintenance/update.php(248): require_once(string)
> #7 {main}
>
>
> My db config vars haven't changed. Nothing too bizarre...
>
> $wgDBtype           = "mysql";
> $wgDBserver         = "localhost";
> $wgDBname           = "OffsetDB";
> $wgDBport           = "5432";
> $wgDBprefix         = "mw_";
>
>
> How can I get past the error? Or let me know what other info to provide to
> help diagnose. Thanks!
>
> _______________________________________________
> MediaWiki-l mailing list
> To unsubscribe, go to:
> https://lists.wikimedia.org/mailman/listinfo/mediawiki-l


_______________________________________________
MediaWiki-l mailing list
To unsubscribe, go to:
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
Reply | Threaded
Open this post in threaded view
|

Re: update.php failing with message from LoadBalancer.php

Mike Brown
Didn't help. I get the same error.

On Sat, Apr 06, 2019 at 11:25:37PM +0200, [[kgh]] wrote:

> Comletely remove
>
> $wgDBport           = "5432";
>
> and see if it works.
>
>
> Am 06.04.19 um 23:15 schrieb Mike Brown:
> > I'm upgrading a MediaWiki 1.30 installation to 1.32.
> >
> > I already updated my backend from MySQL 5.6.40 to 5.7.25 and ran
> > mysql_upgrade. I also replaced PHP 5.6.36 with PHP 7.2.17.
> >
> > I installed MW 1.32.0 and am now trying to run the update.php script in the
> > maintenance directory. I get the following error:
> >
> > MediaWiki 1.32.0 Updater
> >
> > Your composer.lock file is up to date with current dependencies!
> > [20cebd8c9a3916038d1b3632] [no req]   UnexpectedValueException from line 961 of /usr/local/www/mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php:
> > Got connection to 'OffsetDB-mw_', but expected local domain ('OffsetDB-mediawiki-mw_').
> > Backtrace:
> > #0 /usr/local/www/mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php(890): Wikimedia\Rdbms\LoadBalancer->openLocalConnection(integer, integer)
> > #1 /usr/local/www/mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php(766): Wikimedia\Rdbms\LoadBalancer->openConnection(integer, boolean, integer)
> > #2 /usr/local/www/mediawiki/includes/GlobalFunctions.php(2694): Wikimedia\Rdbms\LoadBalancer->getConnection(integer, array, boolean)
> > #3 /usr/local/www/mediawiki/maintenance/Maintenance.php(1353): wfGetDB(integer, array, boolean)
> > #4 /usr/local/www/mediawiki/maintenance/update.php(147): Maintenance->getDB(integer)
> > #5 /usr/local/www/mediawiki/maintenance/doMaintenance.php(94): UpdateMediaWiki->execute()
> > #6 /usr/local/www/mediawiki/maintenance/update.php(248): require_once(string)
> > #7 {main}
> >
> >
> > My db config vars haven't changed. Nothing too bizarre...
> >
> > $wgDBtype           = "mysql";
> > $wgDBserver         = "localhost";
> > $wgDBname           = "OffsetDB";
> > $wgDBport           = "5432";
> > $wgDBprefix         = "mw_";
> >
> >
> > How can I get past the error? Or let me know what other info to provide to
> > help diagnose. Thanks!
> >
> > _______________________________________________
> > MediaWiki-l mailing list
> > To unsubscribe, go to:
> > https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
>
>
> _______________________________________________
> MediaWiki-l mailing list
> To unsubscribe, go to:
> https://lists.wikimedia.org/mailman/listinfo/mediawiki-l

_______________________________________________
MediaWiki-l mailing list
To unsubscribe, go to:
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
Reply | Threaded
Open this post in threaded view
|

Re: update.php failing with message from LoadBalancer.php

Mike Brown
The answer was here:
https://www.mediawiki.org/wiki/Manual:$wgDBmwschema

My LocalSettings.php began life a good while ago, and indeed, it had
$wgDBmwschema set to 'mediawiki'.

I commented this out, and now update.php can run.

update.php gets pretty far, but not all the way through.
Here's the last thing it did:

Running maintenance/deduplicateArchiveRevId.php...
Deduplicating ar_rev_id...
Row 940 conflicts with revision row for rev_id 1833, reassigning
Row 941 conflicts with revision row for rev_id 1834, reassigning
Row 982 conflicts with revision row for rev_id 1868, reassigning
Row 1067 conflicts with revision row for rev_id 1992, reassigning
Row 1068 conflicts with revision row for rev_id 1993, reassigning
Row 1076 conflicts with archive row 1069 for rev_id 1994, reassigning
Row 1077 conflicts with archive row 1073 for rev_id 1995, reassigning
Row 1078 conflicts with archive row 1072 for rev_id 1996, reassigning
Row 1079 conflicts with archive row 1071 for rev_id 1997, reassigning
Row 1080 conflicts with archive row 1074 for rev_id 1998, reassigning
Row 1081 conflicts with archive row 1070 for rev_id 1999, reassigning
[3f3634afa8a03289878f8ff9] [no req]   Wikimedia\Rdbms\DBQueryError from line 1496 of /usr/local/www/mediawiki/includes/libs/rdbms/database/Database.php: A database query error has occurred. Did you forget to run your application's database schema updater after upgrading?
Query: UPDATE  `mw_archive` SET ar_rev_id = '3867' WHERE ar_id = '940'
Function: PopulateArchiveRevId::reassignArRevIds
Error: 1785 Statement violates GTID consistency: Updates to non-transactional tables can only be done in either autocommitted statements or single-statement transactions, and never in the same statement as updates to transactional tables. (localhost)

Backtrace:
#0 /usr/local/www/mediawiki/includes/libs/rdbms/database/Database.php(1466): Wikimedia\Rdbms\Database->makeQueryException(string, integer, string, string)
#1 /usr/local/www/mediawiki/includes/libs/rdbms/database/Database.php(1226): Wikimedia\Rdbms\Database->reportQueryError(string, integer, string, string, boolean)
#2 /usr/local/www/mediawiki/includes/libs/rdbms/database/Database.php(2112): Wikimedia\Rdbms\Database->query(string, string)
#3 /usr/local/www/mediawiki/maintenance/populateArchiveRevId.php(179): Wikimedia\Rdbms\Database->update(string, array, array, string)
#4 /usr/local/www/mediawiki/maintenance/deduplicateArchiveRevId.php(187): PopulateArchiveRevId::reassignArRevIds(Wikimedia\Rdbms\DatabaseMysqli, array)
#5 /usr/local/www/mediawiki/maintenance/deduplicateArchiveRevId.php(93): DeduplicateArchiveRevId->processArRevIds(Wikimedia\Rdbms\DatabaseMysqli, array, array)
#6 /usr/local/www/mediawiki/maintenance/Maintenance.php(1698): DeduplicateArchiveRevId->doDBUpdates()
#7 /usr/local/www/mediawiki/includes/installer/DatabaseUpdater.php(1031): LoggedUpdateMaintenance->execute()
#8 /usr/local/www/mediawiki/includes/installer/DatabaseUpdater.php(485): DatabaseUpdater->runMaintenance(string, string)
#9 /usr/local/www/mediawiki/includes/installer/DatabaseUpdater.php(449): DatabaseUpdater->runUpdates(array, boolean)
#10 /usr/local/www/mediawiki/maintenance/update.php(203): DatabaseUpdater->doUpdates(array)
#11 /usr/local/www/mediawiki/maintenance/doMaintenance.php(94): UpdateMediaWiki->execute()
#12 /usr/local/www/mediawiki/maintenance/update.php(248): require_once(string)
#13 {main}

I did indeed run mysql_upgrade, so I'm not sure what to do now.
Running mysql_upgrade again just says that it is already upgraded.

Suggestions?

_______________________________________________
MediaWiki-l mailing list
To unsubscribe, go to:
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
Reply | Threaded
Open this post in threaded view
|

Re: update.php failing with message from LoadBalancer.php

Mike Brown
On Sat, Apr 06, 2019 at 11:38:04PM -0700, Mike Brown wrote:
> [3f3634afa8a03289878f8ff9] [no req]   Wikimedia\Rdbms\DBQueryError from line 1496 of /usr/local/www/mediawiki/includes/libs/rdbms/database/Database.php: A database query error has occurred. Did you forget to run your application's database schema updater after upgrading?
> Query: UPDATE  `mw_archive` SET ar_rev_id = '3867' WHERE ar_id = '940'
> Function: PopulateArchiveRevId::reassignArRevIds
> Error: 1785 Statement violates GTID consistency: Updates to non-transactional tables can only be done in either autocommitted statements or single-statement transactions, and never in the same statement as updates to transactional tables. (localhost)

This happened because I was upgrading a MySQL-based wiki installation which
had MyISAM instead of InnoDB tables. I altered the tables (except searchindex)
to use the InnoDB engine, and then update.php was able to run to completion.

Perhaps update.php should be fixed to deal with this contingency.

_______________________________________________
MediaWiki-l mailing list
To unsubscribe, go to:
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l