Krinkle created this task. Krinkle added projects: Performance-Team (Radar), MediaWiki-extensions-WikibaseClient.
TASK DESCRIPTION The immediate reason for the warning is that it is calling `query()` without indication of whether it is a write query or not, thus requiring Rdbms to perform its legacy regexes on the SQL text to guess it. However, more important than whether it passes the second parameter of `query()`, is that it calls `query()` at all, as this should not be used outside Rdbms internals. It exposes raw SQL and should be avoided in favour of safe interfaces like `SelectQueryBuilder` or `IDatabase::select()`. It is currently triggered approximately 100K/hour, making it the most common entry on the mediawiki-warnings dashboard in Logstash, across all MW channels and components. The instrumentation was added last month in https://gerrit.wikimedia.org/r/c/mediawiki/core/+/894110 to detect exactly this issue, on the assumption it will likely not trigger anything in production. Wikibase's use was one of two callers we found in production. name=message Wikimedia\Rdbms\Platform\SQLPlatform::isWriteQuery fallback to regex name=trace #0 /srv/mediawiki/php-1.41.0-wmf.1/includes/libs/rdbms/database/Database.php(934): Wikimedia\Rdbms\Platform\SQLPlatform->isWriteQuery(string, integer) … #4 /srv/mediawiki/php-1.41.0-wmf.1/extensions/Wikibase/client/includes/Usage/Sql/EntityUsageTable.php(474): Wikimedia\Rdbms\DBConnRef->query(string, string) #5 /srv/mediawiki/php-1.41.0-wmf.1/extensions/Wikibase/client/includes/Usage/Sql/EntityUsageTable.php(407): Wikibase\Client\Usage\Sql\EntityUsageTable->getUsedEntityIdStringsMySql(array, Wikimedia\Rdbms\DBConnRef) #6 /srv/mediawiki/php-1.41.0-wmf.1/extensions/Wikibase/client/includes/Usage/Sql/EntityUsageTable.php(389): Wikibase\Client\Usage\Sql\EntityUsageTable->getUsedEntityIdStrings(array) #7 /srv/mediawiki/php-1.41.0-wmf.1/extensions/Wikibase/client/includes/Usage/Sql/SqlUsageTracker.php(273): Wikibase\Client\Usage\Sql\EntityUsageTable->getUnusedEntities(array) #8 /srv/mediawiki/php-1.41.0-wmf.1/extensions/Wikibase/client/includes/Usage/ImplicitDescriptionUsageLookup.php(303): Wikibase\Client\Usage\Sql\SqlUsageTracker->getUnusedEntities(array) #9 /srv/mediawiki/php-1.41.0-wmf.1/extensions/Wikibase/client/includes/Store/UsageUpdater.php(80): Wikibase\Client\Usage\ImplicitDescriptionUsageLookup->getUnusedEntities(array) #10 /srv/mediawiki/php-1.41.0-wmf.1/extensions/Wikibase/client/includes/Store/AddUsagesForPageJob.php(121): Wikibase\Client\Store\UsageUpdater->addUsagesForPage(integer, array) #11 /srv/mediawiki/php-1.41.0-wmf.1/extensions/EventBus/includes/JobExecutor.php(79): Wikibase\Client\Store\AddUsagesForPageJob->run() #12 /srv/mediawiki/rpc/RunSingleJob.php(77): MediaWiki\Extension\EventBus\JobExecutor->execute(array) TASK DETAIL https://phabricator.wikimedia.org/T332941 EMAIL PREFERENCES https://phabricator.wikimedia.org/settings/panel/emailpreferences/ To: Krinkle Cc: Ladsgroup, Aklapper, Krinkle, ItamarWMDE, Akuckartz, lucamauri, Vali.matei, Wikidata-bugs
_______________________________________________ Wikidata-bugs mailing list -- wikidata-bugs@lists.wikimedia.org To unsubscribe send an email to wikidata-bugs-le...@lists.wikimedia.org