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

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 added a subscriber: aaron.
Paladox subscribed.

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 claimed this task.