I once noticed in Phabricator that one of the repositories is constantly with the Importing status (99.93%) … And I found the following errors in the logs:
Error while executing Task ID 89228. (AphrontCharacterSetQueryException) Attempting to construct a query using a non-utf8 string when utf8 is expected. Use the `%B` conversion to escape binary strings data. Process exited with error 255. Waiting 180 second(s) to restart process.
I will give an example of viewing logs:
./bin/phd log ./bin/phd log --id 642158
They can also be viewed in the /var/log/phd/ directory.
Looked at the status of the processes on the page, for example https://hg.ixnfo.com/daemon/
I tried to clear the cache, but it did not help, see my article:
Phabricator. Clearing the cache
Restarted the phd service (this didn’t help either):
cd /home/phd/phabricator ./bin/phd restart service phd status
You can temporarily enable more detailed logs:
./bin/config set phd.trace true ./bin/config set phd.verbose true ./bin/config set phd.trace false ./bin/config set phd.verbose false
I tried to manually start importing the R31 repository:
cd /home/phd/phabricator ./bin/repository reparse --importing --trace R31 ./bin/repository --help ./bin/repository list ./bin/repository list-paths ./bin/repository importing R31 R31:bd4323c86bde Change, Publish R31:f861f1c95994 Change, Publish R31:aac0378b0f57 Change, Publish
After looking at these commits that cannot be imported, it turned out that the files have Cyrillic names, so an error occurs during import, since the commit cannot be deleted, I simply marked the repository as imported:
./bin/repository mark-imported R31
I note that the error will continue to be displayed every 5 minutes, but processes that were not previously started due to the fact that the repository was imported will work, for example, one of the employees said that the rule that should monitor commits and pull the build server does not work.