Заметил однажды в Phabricator, что один из репозиториев постоянно со статусом Importing (99.93%)… А в логах обнаружил следующие ошибки:
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.
Приведу пример просмотра логов:
./bin/phd log
./bin/phd log --id 642158
Также их можно посмотреть в директории /var/log/phd/.
Посмотрел статус процессов на странице, например https://hg.ixnfo.com/daemon/
Попробовал очистить кэш, но это не помогло, смотрите мою статью:
Phabricator. Очистка кэша
Перезапустил службу phd (это тоже не помогло):
cd /home/phd/phabricator
./bin/phd restart
service phd status
Можно временно включить более детальные логи:
./bin/config set phd.trace true
./bin/config set phd.verbose true
./bin/config set phd.trace false
./bin/config set phd.verbose false
Попробовал вручную запустить импорт репозитория R31:
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
Посмотрев эти коммиты, которые не могут импортироваться, оказалось что файлы имеют кириллические имена, поэтому во время импорта возникает ошибка, так как удалить коммит нельзя, то я просто пометил репозиторий как импортированный:
./bin/repository mark-imported R31
Замечу что ошибка и дальше будет отображаться каждые 5 минут, но зато будут работать процессы, которые ранее не запускались из-за того, что выполнялся импорт репозитория, например один из сотрудников говорил что не срабатывает правило, которое должно мониторить коммиты и дёргать билд-сервер.
Смотрите также мои статьи:
Ротация логов Phabricator
Установка Phabricator в Ubuntu
Настройка Phabricator