Gerrit - Ошибка приложения - Разница внутри линии недоступна из-за ошибки сервера

Для одного из наших проектов gerrit при навигации по различиям в файлах мы получаем эту ошибку:

Ошибка приложения

Разница внутри линии недоступна из-за ошибки сервера

[Продолжать]

Это происходит не со всеми проектами, на данный момент мы обнаружили ошибку только в одном проекте.

Я посмотрел в Google и в документации gerrit. Нашел ссылку на их исходный код, но не знаю, что вызывает это и как его можно решить.

Веб-страница с ошибкой содержит кнопку «Продолжить». После нажатия вы перейдете к выбранному файлу, но ошибка раздражает.

Вы знаете, как это исправить?


person user1293962    schedule 08.06.2012    source источник


Ответы (2)


Это вызвано кэшированием внутристрочной разницы одного файла при сравнении двух коммитов. Значение времени ожидания по умолчанию составляет 5 секунд. Если файл огромен и вычисления занимают больше времени, чем время ожидания, рабочий поток завершается, отображается сообщение об ошибке, а внутристрочные различия для файловой пары не отображаются.

Решение может исправить это.

  1. Добавьте конфиг в gerrit.conf.

    [кеш "diff_intraline"]

    timeout = 15000 ms # Или другое время по вашему желанию.

  2. перезапустить службу Gerrit
  3. запустите SSH-команду «gerrit flush-caches», используя пользователя с глобальными возможностями ViewCaches.

    ssh -p порт userxxx@host gerrit flush-caches

Тогда это сработает.

person Jennie.Li    schedule 18.06.2014

Причина ошибки:

Это результат того, что Gerrit слишком долго сравнивал файл и помечал diff в одном из своих кешей как недоступный.

Соответствующий журнал ошибок находится здесь: [2012-06-08 11:14:08,547] ПРЕДУПРЕЖДЕНИЕ com.google.gerrit.server.patch.IntraLineLoader: время ожидания 5000 мс достигнуто для IntraLineDiff в проекте xxxxxxx при фиксации 354dd67ad54578cf801d8cda64a4ae8484ebb0b7 для пути xxxxxxx.java сравнение bf9fbc21520af7bfd0841c8b9f955ca6e215b059..f6b9c7992c12cfdca253acd033966f98f70f3543. Убийство IntraLineDiff-6

person user1293962    schedule 08.06.2012