Starting sometime last night, Phabricator has become very slow to load. It takes up to several minutes for some page to load. I’ve asked around and it seems like others are experience the same. I figured I’d throw up a post in case others are second guessing themselves like I was.
Given the time, could this be related to some of the ongoing work to migrate to Github PRs?
According to tail -f /var/log/apache2/reviews.llvm.org-access.log, there are many different IP addresses crawling /source/llvm-github/history and /source/llvm-github/browse pages. It’s apparently a botnet as adjacent files are visited by IP addresses from very different autonomous systems.
Such a visit will cause Phabricator to spawn a process like git log --skip=0 -n 30 --pretty=format:%H:%P 988a16af929ece9453622ea256911cdfdf079d47 -- llvm/lib/Demangle/ItaniumDemangle.cpp that takes a few seconds.
A while ago (earlier this year or last year) I redirected /source/llvm-github/browse to GitHub. I redirected /source/llvm-github/history about one hour ago.
phab@llvm-reviews:/srv/http/phabricator$ ./bin/cache purge --all
Purging "builtin-file" cache...
Purging "changeset" cache...
[2023-09-07 23:51:58] EXCEPTION: (AphrontQueryException) #3675: Create table/tablespace 'differential_changeset_parse_cache' failed, as disk is full at [<phabricator>/src/infrastructure/storage/connection/mysql/AphrontBaseMySQLDatabaseConnection.php:386]
arcanist(head=llvm-production), phabricator(head=llvm-production, ref.llvm-production=8502773a2afb, custom=1)
#0 AphrontBaseMySQLDatabaseConnection::throwQueryCodeException called at [<phabricator>/src/infrastructure/storage/connection/mysql/AphrontBaseMySQLDatabaseConnection.php:320]
#1 AphrontBaseMySQLDatabaseConnection::throwQueryException called at [<phabricator>/src/infrastructure/storage/connection/mysql/AphrontBaseMySQLDatabaseConnection.php:216]
#2 AphrontBaseMySQLDatabaseConnection::executeQuery called at [<phabricator>/src/infrastructure/storage/xsprintf/queryfx.php:8]
#3 queryfx called at [<phabricator>/src/applications/cache/purger/PhabricatorChangesetCachePurger.php:15]
#4 PhabricatorChangesetCachePurger::purgeCache called at [<phabricator>/src/applications/cache/management/PhabricatorCacheManagementPurgeWorkflow.php:78]
#5 PhabricatorCacheManagementPurgeWorkflow::execute called at [<arcanist>/src/parser/argument/PhutilArgumentParser.php:492]
#6 PhutilArgumentParser::parseWorkflowsFull called at [<arcanist>/src/parser/argument/PhutilArgumentParser.php:377]
#7 PhutilArgumentParser::parseWorkflows called at [<phabricator>/scripts/cache/manage_cache.php:21]
There are many IPs from two autonomous systems crawling pages using fake user agents such as Safari/537.36, Chrome/27.0.1453.93, Chrome/37.0.2062.124, Chrome/35.0.2309.372. I have blocked the two IP ranges.