HEADS UP: Phabricator will be moving to a new server soon.

Austin Seipp austin at well-typed.com
Wed Nov 18 21:10:14 UTC 2015


Hi *,

After talking with Ben today, I'll be moving the Phabricator server to
a new host Real Soon.

Our current load has outgrown the very basic server we've been using
for the past year. It's worked fine, but occasionally it cuts into
swap space, causing things like request timeouts or errors. This is
particularly noticeable on things like extremely large diffs, which we
tend to have a handful of.

This is also the first step in a two-part upgrade to the system, which
I'd like to carry out sometime within the next week. The next step
will be to upgrade our Phabricator to the latest version available
upstream.

Why have we held off on this? The primary reason is that Harbormaster,
the component that does our builds, has undergone a very large
rewrite. This was expected to happen, and for the most part the new
implementation is *far* better in many measurable ways. It has taken
some time, but I think it's now in a usable state for replacing our
current system. I didn't want to upgrade it and take away one of the
more useful features in the mean time.

I will reply to this email with an exact time slot on the server
migration. I'll have to push over a few gigs of data and resync it
after taking down the HTTP server, so I imagine the downtime window
will be small (< 1hr).

The upgrade to Phabricator itself will come with many benefits, including:

  - The patch-build process will be more robust - buildbots should no
longer need 'arc patch'. Phabricator will stage diffs in a special
'staging area' repository it manages, and you will be able to 'git
pull' patches people post, directly into your tree!

  - More scalable build machine management. We will transparently be
able to add new devices into a 'pool' of machines. For example, there
could be 3 ARM devices in the 'ARM pool' and 10 x86 machines in the
'x86 pool'. These pools have machines leased out appropriately to
build jobs. That means if you have *any* internet-addressable machine
with some spare disk space/CPU, it can be added easily at a low cost,
expanding our infrastructure.

  - A Mac Mini is now available for us to do builds on! I'll be
turning it on along with this. And if you have your *own*,
internet-addressable Mac - we can use that too!

  - Better build security, and CI builds for 'master' will be
separated (on different machines) from (possibly hostile) patch
builds.

  - We should be able to afford a significantly better set of Linux
build machines. Harbormaster can do patches and commits in about ~30
minutes. Why not go for ~10min in the common case? :)

 - Remarkup now supports 'figlet' and 'cowsay' syntax, allowing you to
Moo to your hearts desire, or give someone advice with large, 8-bit
retro-style ASCII font rendering.

There will be some other fun stuff coming down the pipe soon (a 'merge
this patch' button directly in Phabricator, and on-demand build
machines for even better performance are two examples).

That's all for now!

-- 
Regards,

Austin Seipp, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/


More information about the ghc-devs mailing list