Flagged earlier today by @RLazarus: There are a lot of requests for phabricator.wikimedia.org/test-%2A/?__path__=%2ftest%2d%252A%2f&duck-sound=quack in phabricator.wikimedia.org Apache logs. They're coming from phab1004 itself.
After some digging, this may be an upstream Phorge bug, or may be specific to our deployment. @Dzahn notes that it's been noticed in the past, but there are a lot of these now and something seems weird. Notes follow.
- ~193400 hits in phab1004:/var/log/apache2/phabricator_access.log
- These are from PhabricatorWebServerSetupCheck.php +38.
- The setup checks can potentially fire on every request, but should be cached.
- There are two layers of relevant caching for setup issues:
- A setup-specific cache that uses either APCu or files in /tmp
- phabricator_cache.cache_general in the database, stored as a JSON string.
- I should verify that APCu is enabled on phab1004.
- There's a one-line change to PhabricatorSetupCheck::getOpenSetupIssueKeysFromDatabase() that may have been deployed only recently: f2a01dca392 - I can imagine that being relevant, although it's not immediately obvious how.
My tracing through this went: index.php -> AphrontApplicationConfiguration::runHTTPRequest -> PhabricatorSetupCheck::willProcessRequest -> PhabricatorSetupCheck::getOpenSetupIssueKeys -> check APC (in PhabricatorCaches) and if that comes back null it'll call PhabricatorSetupEngine which I think will check the webserver setup which started this rabbithole
In production, the database row for phabricator.setup.issue-keys seems to be an empty array and gets reset frequently:
mysql:phuser@m3-master.eqiad.wmnet [phabricator_cache]> select * from cache_general where cacheKey = 'phabricator.setup.issue-keys'; +-----------+--------------+------------------------------+-------------+-----------+--------------+--------------+ | id | cacheKeyHash | cacheKey | cacheFormat | cacheData | cacheCreated | cacheExpires | +-----------+--------------+------------------------------+-------------+-----------+--------------+--------------+ | 302713914 | K3VntSub8LL2 | phabricator.setup.issue-keys | raw | [] | 1754337833 | NULL | +-----------+--------------+------------------------------+-------------+-----------+--------------+--------------+ mysql:phuser@m3-master.eqiad.wmnet [phabricator_cache]> select * from cache_general where cacheKey = 'phabricator.setup.issue-keys'; +-----------+--------------+------------------------------+-------------+-----------+--------------+--------------+ | id | cacheKeyHash | cacheKey | cacheFormat | cacheData | cacheCreated | cacheExpires | +-----------+--------------+------------------------------+-------------+-----------+--------------+--------------+ | 302713914 | K3VntSub8LL2 | phabricator.setup.issue-keys | raw | [] | 1754337842 | NULL | +-----------+--------------+------------------------------+-------------+-----------+--------------+--------------+
On phab.wmflabs.org, this row is populated and was last set hours ago:
MariaDB [phabricator_cache]> select * from cache_general where cacheKey = 'phabricator.setup.issue-keys' \G;
id: 10625
cacheKeyHash: K3VntSub8LL2
cacheKey: phabricator.setup.issue-keys
cacheFormat: raw
cacheData: ["aphlict.connect","mysql.max_allowed_packet","sql_mode.strict","mysql.local_infile","extension.zip","php.post_max_size","config.unknown.gitblit.hostname","config.unknown.gitlab.api_key","elastic.misconfigured"]
cacheCreated: 1753684863
cacheExpires: NULL

