Page MenuHomePhabricator

CheckUser TransactionProfiler warnings when using Special:CentralAutoLogin creates local accounts
Closed, ResolvedPublic

Description

Summary

Since the deployment of wmf.10, CheckUser is showing TransactionProfiler warnings related to unexpected writes during local account creation

Background

message
Expectation (writes <= 0) by MediaWiki\Actions\ActionEntryPoint::execute not met (actual: 11) in trx #00d93e6fcb:
role-primary: INSERT INTO `cu_log_event` (cule_actor,cule_timestamp,cule_ip,cule_ip_hex,cule_xff,cule_xff_hex,cule_log_id,cule_agent) VALUES '?'
trace
from /srv/mediawiki/php-1.46.0-wmf.10/includes/libs/Rdbms/TransactionProfiler.php(565)
#0 /srv/mediawiki/php-1.46.0-wmf.10/includes/libs/Rdbms/TransactionProfiler.php(367): Wikimedia\Rdbms\TransactionProfiler->reportExpectationViolated(string, Wikimedia\Rdbms\GeneralizedSql, int, string, string)
#1 /srv/mediawiki/php-1.46.0-wmf.10/includes/libs/Rdbms/Database/TransactionManager.php(571): Wikimedia\Rdbms\TransactionProfiler->recordQueryCompletion(Wikimedia\Rdbms\GeneralizedSql, float, bool, int, string, string)
#2 /srv/mediawiki/php-1.46.0-wmf.10/includes/libs/Rdbms/Database/Database.php(848): Wikimedia\Rdbms\TransactionManager->recordQueryCompletion(Wikimedia\Rdbms\GeneralizedSql, float, bool, int, string)
#3 /srv/mediawiki/php-1.46.0-wmf.10/includes/libs/Rdbms/Database/Database.php(706): Wikimedia\Rdbms\Database->attemptQuery(Wikimedia\Rdbms\Query, string, bool)
#4 /srv/mediawiki/php-1.46.0-wmf.10/includes/libs/Rdbms/Database/Database.php(633): Wikimedia\Rdbms\Database->executeQuery(Wikimedia\Rdbms\Query, string, int)
#5 /srv/mediawiki/php-1.46.0-wmf.10/includes/libs/Rdbms/Database/Database.php(1507): Wikimedia\Rdbms\Database->query(Wikimedia\Rdbms\Query, string)
#6 /srv/mediawiki/php-1.46.0-wmf.10/includes/libs/Rdbms/Database/DBConnRef.php(129): Wikimedia\Rdbms\Database->insert(string, array, string, array)
#7 /srv/mediawiki/php-1.46.0-wmf.10/includes/libs/Rdbms/Database/DBConnRef.php(457): Wikimedia\Rdbms\DBConnRef->__call(string, array)
#8 /srv/mediawiki/php-1.46.0-wmf.10/includes/libs/Rdbms/QueryBuilder/InsertQueryBuilder.php(340): Wikimedia\Rdbms\DBConnRef->insert(string, array, string, array)
#9 /srv/mediawiki/php-1.46.0-wmf.10/extensions/CheckUser/src/Services/CheckUserInsert.php(336): Wikimedia\Rdbms\InsertQueryBuilder->execute()
#10 /srv/mediawiki/php-1.46.0-wmf.10/extensions/CheckUser/src/HookHandler/CheckUserPrivateEventsHandler.php(188): MediaWiki\CheckUser\Services\CheckUserInsert->insertIntoCuLogEventTable(MediaWiki\Logging\DatabaseLogEntry, string, MediaWiki\User\User)
#11 /srv/mediawiki/php-1.46.0-wmf.10/extensions/CheckUser/src/HookHandler/CheckUserPrivateEventsHandler.php(129): MediaWiki\CheckUser\HookHandler\CheckUserPrivateEventsHandler->insertLogEventForAccountCreation(MediaWiki\User\User, MediaWiki\Logging\DatabaseLogEntry)
#12 /srv/mediawiki/php-1.46.0-wmf.10/includes/libs/Rdbms/Database/TransactionManager.php(723): MediaWiki\CheckUser\HookHandler\CheckUserPrivateEventsHandler->MediaWiki\CheckUser\HookHandler\{closure}()
#13 /srv/mediawiki/php-1.46.0-wmf.10/includes/libs/Rdbms/Database/Database.php(3369): Wikimedia\Rdbms\TransactionManager->runOnTransactionPreCommitCallbacks()
#14 /srv/mediawiki/php-1.46.0-wmf.10/includes/libs/Rdbms/LoadBalancer/LoadBalancer.php(1347): Wikimedia\Rdbms\Database->runOnTransactionPreCommitCallbacks()
#15 /srv/mediawiki/php-1.46.0-wmf.10/includes/libs/Rdbms/LBFactory/LBFactory.php(314): Wikimedia\Rdbms\LoadBalancer->finalizePrimaryChanges(string)
#16 /srv/mediawiki/php-1.46.0-wmf.10/includes/MediaWikiEntryPoint.php(274): Wikimedia\Rdbms\LBFactory->commitPrimaryChanges(string, int)
#17 /srv/mediawiki/php-1.46.0-wmf.10/includes/MediaWikiEntryPoint.php(170): MediaWiki\MediaWikiEntryPoint->commitMainTransaction()
#18 /srv/mediawiki/php-1.46.0-wmf.10/includes/Actions/ActionEntryPoint.php(207): MediaWiki\MediaWikiEntryPoint->doPrepareForOutput()
#19 /srv/mediawiki/php-1.46.0-wmf.10/includes/MediaWikiEntryPoint.php(153): MediaWiki\Actions\ActionEntryPoint->doPrepareForOutput()
#20 /srv/mediawiki/php-1.46.0-wmf.10/includes/Actions/ActionEntryPoint.php(154): MediaWiki\MediaWikiEntryPoint->prepareForOutput()
#21 /srv/mediawiki/php-1.46.0-wmf.10/includes/MediaWikiEntryPoint.php(181): MediaWiki\Actions\ActionEntryPoint->execute()
#22 /srv/mediawiki/php-1.46.0-wmf.10/index.php(44): MediaWiki\MediaWikiEntryPoint->run()
#23 /srv/mediawiki/w/index.php(3): require(string)
#24 {main}

Technical details

  • Likely the best way to address this is to suppress the TransactionProfiler warnings, as the local account creation will have already created other warnings such as those created by making the local user row
    • We can do this using the recently added $silenceReplicaWarnings arguments to the CheckUserInsert methods used to insert the local account creation entry into CheckUser database tables

Acceptance criteria

  • These logstash TransactionProfiler warnings no longer appear

Event Timeline

mszwarc changed the task status from Open to In Progress.Jan 8 2026, 10:18 AM
mszwarc claimed this task.

Change #1224602 had a related patch set uploaded (by Mszwarc; author: Mszwarc):

[mediawiki/extensions/CheckUser@master] Silence TransactionProfiler warnings in CheckUserPrivateEventsHandler

https://gerrit.wikimedia.org/r/1224602

Change #1224615 had a related patch set uploaded (by Mszwarc; author: Mszwarc):

[mediawiki/extensions/CheckUser@wmf/1.46.0-wmf.10] Silence TransactionProfiler warnings in CheckUserPrivateEventsHandler

https://gerrit.wikimedia.org/r/1224615

Change #1224602 merged by jenkins-bot:

[mediawiki/extensions/CheckUser@master] Silence TransactionProfiler warnings in CheckUserPrivateEventsHandler

https://gerrit.wikimedia.org/r/1224602

Change #1224615 merged by jenkins-bot:

[mediawiki/extensions/CheckUser@wmf/1.46.0-wmf.10] Silence TransactionProfiler warnings in CheckUserPrivateEventsHandler

https://gerrit.wikimedia.org/r/1224615

Mentioned in SAL (#wikimedia-operations) [2026-01-08T14:04:06Z] <mszwarc@deploy2002> Started scap sync-world: Backport for [[gerrit:1224615|Silence TransactionProfiler warnings in CheckUserPrivateEventsHandler (T413929)]]

Mentioned in SAL (#wikimedia-operations) [2026-01-08T14:06:36Z] <mszwarc@deploy2002> mszwarc: Backport for [[gerrit:1224615|Silence TransactionProfiler warnings in CheckUserPrivateEventsHandler (T413929)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.