Бинарный провайдер не имеет контента - PullRequest
0 голосов
/ 13 февраля 2019

Мне пришлось взять на себя ответственность за Artifactory внезапно (ответственный сотрудник ушел), я никогда не работал с ним раньше, я потратил день, пытаясь изучить продукт и разобраться.

Контекст проблемы:

На виртуальной машине в Azure (ubuntu) развернут артефакт, на нем смонтирован диск, на котором установлен артефакт (OSS 6.0.2 rev 60002900) Диск заполнен = сбой приложения.

Я увеличил размер диска, переназначил и перемонтировал, и артефакт снова появился - но теперь получаю следующее сообщение об ошибке в браузере:

{
  "errors" : [ {
    "status" : 500,
    "message" : "Could not process download request: Binary provider has no content for 'b8135c33f045ab2cf45ae4d256148d66373a0c89'"
  } ]
}

Я немного искал и нашел различные возможные решения.

Вот этот: Артефактория потеряла след локальных артефактов

, что, похоже, является наиболее обременительным, поскольку контекст нашей проблемы похож, но я не вижуэти пути - т.е. я вижу filestore и все в нем, но не другие пути / файлы, упомянутые в разговоре.

Я также нашел это: https://www.jfrog.com/jira/browse/RTFACT-6324 но опять нетНе находите пути в нашем развертывании.

Насколько я понимаю, кажется, что если я каким-то образом "переустановлю" файловое хранилище и / или базу данных, все должно работать?Есть ясное руководство, или что-то основное, что я пропускаю?Я бы хотел избежать необходимости все начинать с нуля.

Любая помощь будет наиболее ценной, поскольку вся наша организация Dev не блокируется и пытается как-то локально обойти ее, пока это не будет решено.

1 Ответ

0 голосов
/ 13 февраля 2019

Я - инженер поддержки JFrog, и мы увидели вашу проблему, мы свяжемся с вами по другим каналам, чтобы помочь вам решить эту проблему.

Редактировать: После обращения мы обнаружили, что эта проблема была вызванаопределенным файлом, который был поврежден / отсутствует в вашем хранилище файлов, и после удаления этого файла и повторного извлечения его проблема была решена.

Для дальнейшего рассмотрения этой проблемы и ее причин: Artifactory реализует контрольную суммуна основе хранения.Все файлы, развернутые / кэшированные в Artifactory, переименовываются в их значения контрольной суммы и сохраняются в хранилище файлов, а Artifactory создает указатель в базе данных, содержащий имя, контрольную сумму и некоторые другие свойства файла.Это обеспечивает более эффективное хранение, поскольку все файлы сохраняются в хранилище файлов только один раз, но могут иметь несколько указателей в базе данных (в разных местах внутри Artifactory - даже в разных хранилищах или архивах).Когда файл поврежден в файловом хранилище или даже удален (без удаления его из Artifactory), эта проблема может проявиться, поскольку в базе данных Artifactory все еще есть указатель на этот файл, но сам двоичный файл не существует в файловом хранилище.Эта проблема может быть вызвана различными причинами, такими как проблемы с подключением к NFS / S3 / другим типам хранилища, файлы повреждены или удалены из хранилища и т. Д.

Другое редактирование: Вы также можете использовать пользовательский плагин , называемый " filestoreIntegrity ", который может пройти через все указатели на файлы в вашей базе данных и проверить, существуют ли они в хранилище файлов.Таким образом, вы можете узнать, есть ли поврежденные или отсутствующие файлы, и решить эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...