Page MenuHomePhabricator

Enable GC for HHVM CLI (at least for dump runners)
Closed, ResolvedPublic

Description

As pointed out in T161695#3156472 GC is disabled for HHVM in production, even in CLI mode. It should be enabled in CLI mode at least on the snapshot servers, but potentially everywhere(?).

This current behavior causes problems such as T161577: OOM problems with snapshot1007 due to wikidata dumpRdf jobs taking all 60GB+ of main memory.

Event Timeline

Change 346554 had a related patch set uploaded (by Elukey):
[operations/puppet@production] Enable hhvm GC for CLI on snapshot hosts

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

Change 346554 abandoned by Elukey:
Enable hhvm GC for CLI on snapshot hosts

Reason:
Only available (reliably) from 3.18 onwards (checked on the HHVM IRC chan)

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

Tested with @hoo the settings outlined in https://docs.hhvm.com/hhvm/configuration/INI-settings on mwdebug1002. A script with <?php var_dump(gc_enabled()); ?> returns "true" but the GC seems not to be effective. I asked the question on the HHVM channel and it seems that the options were available in 3.12 but they haven't work reliably up to 3.18.

Moritz has almost completed the work of building 3.18 so we could wait the new version before enabling GC.

Note that also requires a migration of the snapshot hosts to jessie (which was blocked so far by a bug in bz2 stream handling, which is fixed in 3.18 as well)

We're now using 3.18 in production (except snapshot* and video scalers hosts, which are still on trusty)

Snapshot hosts are going directly to php7/stretch, bypassing this issue. See T181029.

hoo claimed this task.

Snapshot hosts are going directly to php7/stretch, bypassing this issue. See T181029.

In that case :)