Page MenuHomePhabricator

hhvm has problems when mysql queries fail
Closed, ResolvedPublic

Description

It seems as though DBO_IGNORE isn't working on HHVM. Minimal test case:

$ hhvm eval.php

wfGetDB( DB_MASTER )->tableExists( 'foo' );

HipHop Notice: runtime/ext_mysql: failed executing [SELECT /* DatabaseBase::tableExists */ 1 FROM foo LIMIT 1] [Table 'wikidb.foo' doesn't exist] in /www/mediawiki/core/includes/db/DatabaseMysql.php on line 38


Version: 1.22.0
Severity: minor

Details

Reference
bz54840

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 2:31 AM
bzimport set Reference to bz54840.
bzimport added a subscriber: Unknown Object (MLST).

DBO_IGNORE does work, I misdiagnosed the cause. Figured it out a bit more today.

So it turns out HHVM shows a notice whenever a query fails due to the table not existing. tableExists() makes no assumptions about whether the table exists, so I rewrote it in gerrit 87281 to use information_schema instead.

Possibly a wider problem with mysql query errors + hhvm though. Needs more investigation. If there's a solution that makes gerrit 87281 unnecessary, I'm for it.

  • This bug has been marked as a duplicate of bug 28481 ***

[Using keyword instead of tracking bug for HipHop issues as requested in bug 40926 comment 5. Filter bugmail on this message.]