Page MenuHomePhabricator

1.28-alpha / Uncommitted DB writes (transaction from FOR SAVEPOINT)
Closed, ResolvedPublic

Description

After T148628, I tried to install Postgres via the web-installer using https://github.com/wikimedia/mediawiki/commit/31a3a94d20e2cd549c148019aa52af978d312623 with the following results:

Setting up database... done
Checking for language PL/pgSQL... done
Creating schema... done
Creating tables... done
Populating default interwiki table... done
Committing changes... done
Initializing statistics... done
Generating secret keys... done
Prevent running unneeded updates... done
Creating administrator user account... done
Creating main page with default content... done
Notice: Uncommitted DB writes (transaction from FOR SAVEPOINT). in ...\mw-core-pg\includes\libs\rdbms\database\Database.php on line 3460

Notice: DB transaction writes or callbacks still pending (Installer::populateSiteStats, Database::sourceFile( ...\mw-core-pg/maintenance/postgres/update-keys.sql ), Database::sourceFile( ...\mw-core-pg/maintenance/postgres/update-keys.sql ), Database::sourceFile( ...\mw-core-pg/maintenance/postgres/update-keys.sql ), Database::sourceFile( ...\mw-core-pg/maintenance/postgres/update-keys.sql ), Database::sourceFile( ...\mw-core-pg/maintenance/postgres/update-keys.sql ), Database::sourceFile( ...\mw-core-pg/maintenance/postgres/update-keys.sql ), Database::sourceFile( ...\mw-core-pg/maintenance/postgres/update-keys.sql ), User::addToDatabase, MediaWiki\Auth\TemporaryPasswordPrimaryAuthenticationProvider::providerChangeAuthenticationData, MediaWiki\Auth\LocalPasswordPrimaryAuthenticationProvider::providerChangeAuthenticationData, BotPassword::invalidateAllPasswordsForCentralId, User::saveSettings, User::addGroup, User::addGroup, User::sav in ...\mw-core-pg\includes\libs\rdbms\database\Database.php on line 3466

Fatal error: Uncaught exception 'RuntimeException' with message 'Transaction callbacks still pending.' in ...\mw-core-pg\includes\libs\rdbms\database\Database.php:714 Stack trace: #0 ...\mw-core-pg\includes\libs\rdbms\loadbalancer\LoadBalancer.php(969): Database->close() #1 [internal function]: LoadBalancer->{closure}(Object(DatabasePostgres)) #2 ...\mw-core-pg\includes\libs\rdbms\loadbalancer\LoadBalancer.php(1370): call_user_func_array(Object(Closure), Array) #3 ...\mw-core-pg\includes\libs\rdbms\loadbalancer\LoadBalancer.php(970): LoadBalancer->forEachOpenConnection(Object(Closure)) #4 ...\mw-core-pg\includes\libs\rdbms\loadbalancer\LoadBalancer.php(961): LoadBalancer->closeAll() #5 ...\mw-core-pg\includes\libs\rdbms\loadbalancer\LoadBalancer.php(1544): LoadBalancer->disable() #6 [internal function]: LoadBalancer->__destruct() #7 {main} thrown in ...\mw-core-pg\includes\libs\rdbms\database\Database.php on line 714

Event Timeline

mwjames created this task.Oct 29 2016, 1:41 AM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptOct 29 2016, 1:41 AM
mwjames added a comment.EditedOct 29 2016, 1:51 AM

MediaWiki\Auth\LocalPasswordPrimaryAuthenticationProvider::providerChangeAuthenticationData, BotPassword::invalidateAllPasswordsForCentralId, User::saveSettings, User::addGroup, User::addGroup, User::sav in ...\mw-core-pg\includes\libs\rdbms\database\Database.php on line 3466

Since the user registration during the installation failed, trying to log-in as sysadmin fails with "The supplied credentials could not be authenticated." .

Paladox triaged this task as High priority.Oct 29 2016, 10:51 AM
Paladox added a subscriber: aaron.
Paladox added a subscriber: Paladox.

Adding @aaron

https://gerrit.wikimedia.org/r/#/c/318692/

I won't have time to verify (via the web-installer) that this is solved. If you are confident that the mentioned PR fixes this issue then please close this task at your discretion.

aaron closed this task as Resolved.Oct 29 2016, 8:43 PM
aaron claimed this task.