Last update on: 2014-06-monthly
2011-05-13[edit | edit source]
2011-04-30[edit | edit source]
Tim Starling implemented basic support for HipHop for PHP in MediaWiki, and invited other developers to improve and continue his work. We will pick this work back up later this year after the completion of some of the other projects above.
2011-06-01[edit | edit source]
HipHop was discussed during the Berlin hackathon, and it was agreed that HipHop support would be part of the MediaWiki 1.20 release.
2011-07-01[edit | edit source]
HipHop support is still planned to be part of MediaWiki 1.20. In the meantime, we're looking for volunteers to help us package it for different distributions. Please contact Sumana Harihareswara or the wikitech-l mailing list if you have experience with packaging or would like to get involved in this area.
2011-07-24[edit | edit source]
This project was mainly on hold in July.
2011-11-23[edit | edit source]
Mark Hershberger and Tim Starling, with volunteer Mike Dupont, are seeking help with Debian packaging for HipHop.
2011-12-13[edit | edit source]
Facebook has announced that it will be providing virtual machines for HipHop. That will aid in developing for it. The Roadmap now calls for Platform Engineering and Ops to make more decisions and plans regarding HipHop in February 2012.
2011-12-31[edit | edit source]
After Facebook announced that they were developing virtual machines for HipHop, Tim Starling indicated that Wikimedia would put their current efforts on HipHop on hold, until the virtual machines can be evaluated. Other performance efforts like Wikitext scripting will take priority instead.
2013-05-monthly[edit | edit source]
Several engineers at the Wikimedia Foundation met with Facebook engineers to discuss potential deployment of HHVM in 2013 (summary). We formed the HipHop mailing list to discuss moving forward with this work.
2013-06-monthly[edit | edit source]
A Labs instance of MediaWiki running on HipHop is now available at http://hhvm.wmflabs.org.
2013-07-monthly[edit | edit source]
HipHop work was mainly on hold in July, with the exception of some minor work on virtual machines.
2014-02-18[edit | edit source]
Work is starting back up on this, with the goal of having at least one production service running on HipHop by the end of the quarter. Tim Starling is working with the HHVM upstream to finish off a compatibility layer for running Zend extensions (ext_zend_compat) under HipHop, with the goal of using it for our Lua module. Ori Livneh is working on packaging and deployment issues, as well as generally wrangling the overall development effort. Aaron Schulz is starting to investigate what is needed for wmferrors support.
2014-02-monthly[edit | edit source]
Work is starting back up on this project, with the goal of having at least one production service running on HipHop by the end of the quarter. Tim Starling is working with the HHVM upstream to finish off a compatibility layer for running Zend extensions (
ext_zend_compat) under HipHop, with the goal of using it for our Lua module. Ori Livneh is working on packaging and deployment issues, as well as generally wrangling the overall development effort. Aaron Schulz is starting to investigate what is needed for
2014-03-monthly[edit | edit source]
The team continued to work on porting C extensions to HHVM. Tim Starling did major work on a compatibility layer allowing Zend extensions to be used by HHVM, and started further work on making the layer compatible with newer HHVM interfaces. The team has made a preliminary deployment of HHVM to the Beta cluster, but this still needs further debugging before it is useful to a wider audience.
2014-04-monthly[edit | edit source]
Work on the Zend plugin compatibility layer is feature complete, and now the team is working on proper packaging of HHVM, and is working toward making HHVM the default PHP implementation on the Beta cluster.
2014-05-28[edit | edit source]
Three fronts: HHVM proper:
- Two segfault bugs (third chased down by Tim to upstream bug):
- HHVM segfaults when calling Parser->callParserFunction https://bugzilla.wikimedia.org/show_bug.cgi?id=65796
- LuaSandbox segfaults under HHVM
- Cleanup of mediawiki puppetization continues
- Next up: refactor of apache module, Ori to propose on ops list later today
- Why: apache module is 2.2-specific; could not be made easily compatible with 2.4 without big changes (including moving apache-config/* to operations-puppet so the files could be templatized); when it was brought up before on the ops list everyone seemed to agree the module sucks and needs to die
- Is 2.4 really so different? -- Part of the issue is that Debian changed the file layout for Apache config files; there’s no longer an /etc/apache2/conf.d/, etc.
Packaging / release management
- Faidon did a ton of packaging work: http://anonscm.debian.org/gitweb/?p=collab-maint/hhvm.git;a=shortlog
- Also in touch with Paul T. and David M. about outstanding issues. Upstream is aware and willing to work with Debian to get a package out, including cherry-picking patches for a 3.1.1 release
- We’re still going to use our own packages
- We’ll most likely continue to use Tim’s dev branch as the target, cherry-picking fixes to issues we encounter, and then target 3.2 once it comes out in July
2014-05-monthly[edit | edit source]
HHVM is running on a test machine ("osmium") in our production cluster. Most of Tim Starling's work on the Zend compatibility layer have landed in HHVM 3.1. Most jobs are working, but bugfixing continues on osmium.
2014-06-monthly[edit | edit source]
The team has been running HHVM on a single test machine ("osmium") for the purpose of testing the job queue in production. The machine is only put into production on a very limited basis, while enough bugs are found to keep the team busy for a while, and then it's disabled again as the team fixes those bugs. We're planning on having HHVM running on a few job runner machines (continually) in July, then turning our focus toward running HHVM on the main application servers, taking a similar strategy.