Page MenuHomePhabricator

"$row does not contain fields needed for comment rc_comment" from list=recentchanges
Closed, ResolvedPublic

Description

If an API query is made with the deprecated rctoken parameter and without comment or parsedcomment in rcprop, it logs a warning (or throws an exception, depending on the value for $wgCommentTableSchemaMigrationStage):

2017-09-07 16:54:53 error WARNING: [b09bca563c5d638aeea2e18a] /w/api.php?action=query&list=recentchanges&rcprop=&rctoken=patrol   ErrorException from line 309 of /usr/local/src/MediaWiki/core/includes/debug/MWDebug.php: PHP Warning: Missing rc_comment_text and rc_comment_data fields in row with MIGRATION_OLD [Called from CommentStore::getCommentInternal in /usr/local/src/MediaWiki/core/includes/CommentStore.php at line 203] {"exception_id":"b09bca563c5d638aeea2e18a","caught_by":"mwe_handler"} 
[Exception ErrorException] (/usr/local/src/MediaWiki/core/includes/debug/MWDebug.php:309) PHP Warning: Missing rc_comment_text and rc_comment_data fields in row with MIGRATION_OLD [Called from CommentStore::getCommentInternal in /usr/local/src/MediaWiki/core/includes/CommentStore.php at line 203]
  #0 [internal function]: MWExceptionHandler::handleError(integer, string, string, integer, array)
  #1 /usr/local/src/MediaWiki/core/includes/debug/MWDebug.php(309): trigger_error(string, integer)
  #2 /usr/local/src/MediaWiki/core/includes/debug/MWDebug.php(164): MWDebug::sendMessage(string, array, string, integer)
  #3 /usr/local/src/MediaWiki/core/includes/GlobalFunctions.php(1203): MWDebug::warning(string, integer, integer, string)
  #4 /usr/local/src/MediaWiki/core/includes/CommentStore.php(203): wfLogWarning(string)
  #5 /usr/local/src/MediaWiki/core/includes/CommentStore.php(334): CommentStore->getCommentInternal(Wikimedia\Rdbms\DatabaseMysqli, array, boolean)
  #6 /usr/local/src/MediaWiki/core/includes/changes/RecentChange.php(950): CommentStore->getCommentLegacy(Wikimedia\Rdbms\DatabaseMysqli, stdClass, boolean)
  #7 /usr/local/src/MediaWiki/core/includes/changes/RecentChange.php(121): RecentChange->loadFromRow(stdClass)
  #8 /usr/local/src/MediaWiki/core/includes/api/ApiQueryRecentChanges.php(574): RecentChange::newFromRow(stdClass)
  #9 /usr/local/src/MediaWiki/core/includes/api/ApiQueryRecentChanges.php(393): ApiQueryRecentChanges->extractRowInfo(stdClass)
  #10 /usr/local/src/MediaWiki/core/includes/api/ApiQueryRecentChanges.php(133): ApiQueryRecentChanges->run()
  #11 /usr/local/src/MediaWiki/core/includes/api/ApiQuery.php(253): ApiQueryRecentChanges->execute()
  #12 /usr/local/src/MediaWiki/core/includes/api/ApiMain.php(1583): ApiQuery->execute()
  #13 /usr/local/src/MediaWiki/core/includes/api/ApiMain.php(546): ApiMain->executeAction()
  #14 /usr/local/src/MediaWiki/core/includes/api/ApiMain.php(517): ApiMain->executeActionWithErrorHandling()
  #15 /usr/local/src/MediaWiki/core/api.php(83): ApiMain->execute()
  #16 {main}

Event Timeline

Change 376589 had a related patch set uploaded (by Anomie; owner: Anomie):
[mediawiki/core@master] ApiQueryRecentChanges: Fetch comment fields if rctoken is used

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

Change 376589 merged by jenkins-bot:
[mediawiki/core@master] ApiQueryRecentChanges: Fetch comment fields if rctoken is used

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

Change 376591 had a related patch set uploaded (by Chad; owner: Anomie):
[mediawiki/core@wmf/1.30.0-wmf.17] ApiQueryRecentChanges: Fetch comment fields if rctoken is used

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

Change 376591 merged by jenkins-bot:
[mediawiki/core@wmf/1.30.0-wmf.17] ApiQueryRecentChanges: Fetch comment fields if rctoken is used

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

Mentioned in SAL (#wikimedia-operations) [2017-09-07T21:23:52Z] <demon@tin> Synchronized php-1.30.0-wmf.17/includes/api/ApiQueryRecentChanges.php: T175307 (duration: 00m 49s)

demon triaged this task as Medium priority.