Сбой поиска после обновления до TFS 2018, обновление 2 - PullRequest
0 голосов
/ 25 июня 2018

После обновления TFS-сервера до 2018-го обновления 2, кажется, что поиск и индексация в одной из наших сред нарушены.

При любом поиске выдается «Мы столкнулись с непредвиденной ошибкой при обработке вашего запроса» иУ меня есть работа со всеми документами по устранению неполадок, чтобы очистить и переиндексировать все коллекции.Также полностью переустановите пакет поиска на отдельный сервер, который мы запускаем для поиска и индексации, чтобы убедиться, что мы запустили правильную версию.

В журналах событий на сервере приложений TFS регистрируется большое количество этих исключений:

События (81277) завершены со статусом FailedAndRetry.Событие 81277 завершено с сообщением «BeginBulkIndex-PushEventNotification: операция не выполнена успешно из-за исключительной ситуации Microsoft.VisualStudio.Services.Search.Common.FeederException: множество файлов, отклоненных Elasticsearch, при сбое этого задания.Причина сбоя: Microsoft.VisualStudio.Services.Search.Common.SearchPlatformException: ES Исключение: [Код состояния HTTP: [200] BULK_API_ERROR: [возвращен индекс 404 _index: codesearchshared_1_0 _type: тип_узла_узла_приятия 0[SourceNoDedupeFileContractV3] отсутствует "

И еще один тип исключения также регистрировался много раз, указывая на сбой при индексировании рабочих элементов:

Microsoft.VisualStudio.Services.Search.Common.SearchPlatformException: ES Исключение: [HTTP Status Code: [200] BULK_API_ERROR: [обновление возвращено 404 _index: workitemsearchshared_0_2 _Type: workItemContract _version: 0 сообщение об ошибке: Тип: type_missing_exception Причина: "тип [workItemContract] отсутствует" обновление возвращено 404 _index: workitemsearchshared_0_2 _Type:workItemContract _version: 0 ошибка: Тип: type_missing_exception Причина: «type [workItemContract] отсутствует»

Кажется, что исключения указывают на то, что некоторый тип регистрируетсяОтсутствуют ns, такие как workItemContract и SourceNoDedupeFileContractV3, но я не могу найти никаких ошибок в журналах установки сервера поиска.

Кто-нибудь получил несколько советов о том, как решить эту проблему и вернуть Elastic Search обратно в рабочее состояние?

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

Мы разрешили ситуацию, полностью удалив, а затем переустановив все, что связано с поиском.

  1. Удалите все расширения Code / Work / Wiki из всех коллекций из управления расширениями в веб-администраторе
  2. Удалена функция службы поиска TFS из консоли администратора TFS.
  3. Деинсталлировал службуasticsearch с отдельного сервера поиска с помощью сценария PowerShell. \ Configure-TFSSearch.ps1 -operation remove
  4. Перезапустите службу агента заданий TFS

  5. Удалено старое содержимое, связанное с поиском, из ВСЕХ баз данных коллекции, используя

    УДАЛИТЬ ИЗ [Поиск]. [Tbl_IndexingUnit]

    УДАЛИТЬ ИЗ [Поиск]. [Tbl_IndexingUnitChangeEvent]

    УДАЛИТЬ ИЗ [Поиск]. [Tbl_IndexingUnitChangeEventArchive]

    УДАЛИТЬ ИЗ [Поиск]. [Tbl_JobYield]

    УДАЛИТЬ ИЗ [Поиск]. [Tbl_TreeStore]

    УДАЛИТЬ]. [tbl_DisabledFiles]

    УДАЛИТЬ ИЗ [Поиск]. [tbl_ItemLevelFailures]

    УДАЛИТЬ ИЗ [Поиск]. [tbl_ResourceLockTable]

  6. Перезапустить службу агента заданий TFS

  7. Перезагрузить сервер поиска

  8. Запустить мастер настройки функции поиска из консоли администратора TFS, используя существующий сервер поиска

  9. Установить пакет поиска в соответствии с инструкциями сценария PowerShell

    . \ Configure-TFSSearch.ps1 -Операционная установка -TFSSearchInstallPath D: \ ES -TFSSearchIndexPath D: \ ESDATA-Порт 9200 -Вербоз

  10. Мастер настройки поиска завершен из TFS Admin Console, позволяющий искать код по всем существующим коллекциям

  11. Проверено, что службыбыли запущены и проверены поиск из веб-приложения, он работает!

0 голосов
/ 26 июня 2018

Согласно вашей информации об ошибке и версии TFS, эта проблема похожа на Невозможно начать поиск после обновления до TFS 2018 Обновление 2

Попробуйте решение в вопросе ниже:

Мне показалось, что у меня неправильный / проблемный параметр в следующем регистре ключ, который обновление / установка не исправить.

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Программное обеспечение Apache Фонд \ Procrun 2.0 \ elasticsearch-сервис-x64 \ Параметры \ Java \ Options

Значение содержится:

-Xms0m -Xmx0m

Изменение обоих значений с «0 м» на «1 г» устранило проблему. Насколько я Я понимаю, что по умолчанию «0m» - 4 ГБ, что может привести к конфликту с моим сервером. только с 2,8 ГБ оперативной памяти. Я обновлю сервер, чтобы следовать минимальные требования.

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

Также взгляните на эту статью, которая может оказаться полезной: Elasticsearch 6.2.2 не запускается как служба Windows

...