@Mnkras reports elsewhere:
I started up a phacility test instance to test something ... the import seems to be taking an abnormally long amount of time
The repository in question has 19K commits, but has been importing for more than 10 hours and is ~10% complete, for an effective import rate of 3 commits / minute. This is unreasonably slow.
Some immediate issues:
- Because repo hosts are >80% full (T12217), essentially all memory on the repository hosts is consumed and overseers are no longer scaling up taskmaster pools. Thus, instances are effectively locked to a single taskmaster.
- There are some errors in the error log for this instance:
Daemon 1 STDE [Mon, 20 Feb 2017 05:06:13 +0000] [2017-02-20 05:06:13] ERROR 8: Undefined offset: 1 at [/core/lib/phabricator/src/applications/repository/daemon/PhabricatorRepositoryPullLocalDaemon.php:219] Daemon 1 STDE [Mon, 20 Feb 2017 05:06:13 +0000] arcanist(head=stable, ref.master=fad85844314b, ref.stable=a232e95a18f3), libcore(), phabricator(head=stable, ref.master=f844280d360c, ref.stable=3e10f69570c0), phutil(head=stable, ref.master=9128fb722671, ref.stable=d0ebdaf3ab70), services(head=stable, ref.master=b5cef1ac31ff, ref.stable=198eb67bd822) Daemon 1 STDE [Mon, 20 Feb 2017 05:06:13 +0000] #0 PhabricatorRepositoryPullLocalDaemon::run() called at [<phutil>/src/daemon/PhutilDaemon.php:181] Daemon 1 STDE [Mon, 20 Feb 2017 05:06:13 +0000] #1 PhutilDaemon::execute() called at [<phutil>/scripts/daemon/exec/exec_daemon.php:131]
Daemon 1 STDE [Mon, 20 Feb 2017 05:06:13 +0000] [2017-02-20 05:06:13] EXCEPTION: (InvalidArgumentException) Argument 1 passed to PhabricatorRepositoryPullLocalDaemon::resolveUpdateFuture() must be an instance of PhabricatorRepository, null given, called in /core/lib/phabricator/src/applications/repository/daemon/PhabricatorRepositoryPullLocalDaemon.php on line 221 and defined at [<phutil>/src/error/PhutilErrorHandler.php:200] Daemon 1 STDE [Mon, 20 Feb 2017 05:06:13 +0000] arcanist(head=stable, ref.master=fad85844314b, ref.stable=a232e95a18f3), libcore(), phabricator(head=stable, ref.master=f844280d360c, ref.stable=3e10f69570c0), phutil(head=stable, ref.master=9128fb722671, ref.stable=d0ebdaf3ab70), services(head=stable, ref.master=b5cef1ac31ff, ref.stable=198eb67bd822) Daemon 1 STDE [Mon, 20 Feb 2017 05:06:13 +0000] #0 PhutilErrorHandler::handleError(integer, string, string, integer, array) called at [<phabricator>/src/applications/repository/daemon/PhabricatorRepositoryPullLocalDaemon.php:433] Daemon 1 STDE [Mon, 20 Feb 2017 05:06:13 +0000] #1 PhabricatorRepositoryPullLocalDaemon::resolveUpdateFuture(NULL, ExecFuture, integer) called at [<phabricator>/src/applications/repository/daemon/PhabricatorRepositoryPullLocalDaemon.php:221] Daemon 1 STDE [Mon, 20 Feb 2017 05:06:13 +0000] #2 PhabricatorRepositoryPullLocalDaemon::run() called at [<phutil>/src/daemon/PhutilDaemon.php:181] Daemon 1 STDE [Mon, 20 Feb 2017 05:06:13 +0000] #3 PhutilDaemon::execute() called at [<phutil>/scripts/daemon/exec/exec_daemon.php:131]
- CPU on the host is pretty much all getting burned up anyway, although I think this may be coupled with memory pressure rather than an independent bottleneck.