| Предыдущий | Следующий |
| CI_E_NO_CATALOG_MANAGER | SL_E_SRV_INVALID_PUBLISH_LICENSE |
CI_E_INCONSISTENT_TRANSACTION
Как расследовать HRESULT CI_E_INCONSISTENT_TRANSACTION
CI_E_INCONSISTENT_TRANSACTION имеет значение 0xC0041832 (-1073473486 в знаковом 32-битном представлении). Транзакция каталога находится в несогласованном состоянии.
Для CI_E_INCONSISTENT_TRANSACTION старший бит HRESULT делает значение ошибкой. Константа CI_E_INCONSISTENT_TRANSACTION объявлена в Windows Search Service и относится к области «Windows Search и служба индексирования».
Почему важен контекст вызова
Для CI_E_INCONSISTENT_TRANSACTION код относится к поисковому каталогу, фильтрации документов или выполнению запроса индексатора. Для CI_E_INCONSISTENT_TRANSACTION важно различать повреждение каталога, ошибку фильтра, некорректное состояние транзакции и ограничение запроса: одинаковое внешнее проявление требует разных действий.
Для CI_E_INCONSISTENT_TRANSACTION само имя кода не доказывает первопричину. Для CI_E_INCONSISTENT_TRANSACTION оно указывает, на каком контракте подсистема обнаружила нарушение; первичным считается первый вызов, который вернул HRESULT.
В имени CI_E_INCONSISTENT_TRANSACTION закодированы ориентиры для расследования: INCONSISTENT — технический признак «inconsistent»; TRANSACTION — транзакция. Для CI_E_INCONSISTENT_TRANSACTION эти ориентиры задают конкретный предмет проверки, но не заменяют контракт вызвавшего API.
Интерпретация HRESULT: признаки в имени константы
При разборе CI_E_INCONSISTENT_TRANSACTION обозначение INCONSISTENT связывает код с темой «технический признак «inconsistent»». До повторной проверки CI_E_INCONSISTENT_TRANSACTION сохраните входные данные без нормализации.
Маркер TRANSACTION в CI_E_INCONSISTENT_TRANSACTION направляет проверку на транзакция. Для CI_E_INCONSISTENT_TRANSACTION сопоставьте этот признак с фактическими параметрами первого неуспешного вызова.
Для CI_E_INCONSISTENT_TRANSACTION в техническом контексте особенно важны: транзакция. При расследовании CI_E_INCONSISTENT_TRANSACTION их следует проверять как связанные части одной операции, а не как независимые симптомы.
Минимальный набор свидетельств
- Для сравнения с исправным случаем по
CI_E_INCONSISTENT_TRANSACTIONнужно записать имя каталога, scope запроса и точный текст запроса. - До повторной попытки по
CI_E_INCONSISTENT_TRANSACTIONнужно проверить свободное место, состояние службы WSearch и путь каталога.
Как локализовать причину
- Для
CI_E_INCONSISTENT_TRANSACTION: Определить, код возник при индексировании, обслуживании каталога или выполнении запроса; все остальные условия оставьте неизменными. - Для
CI_E_INCONSISTENT_TRANSACTION: Проверить состояние службы и каталога до удаления либо перестроения индекса; не удаляйте исходные данные до завершения сравнения. - Для
CI_E_INCONSISTENT_TRANSACTION: Воспроизвести проблему на одном документе или минимальном запросе; повторите шаг на исправном контрольном примере. - Для
CI_E_INCONSISTENT_TRANSACTION: Проверить фильтр и обработчик свойств отдельно от поискового приложения; сохраните первый hresult и точное время результата. - Для
CI_E_INCONSISTENT_TRANSACTION: После исправления дождаться завершения индексации и повторить исходный запрос; отдельно отметьте изменение состояния объекта.
Как доказать исправление
Корректирующее действие для CI_E_INCONSISTENT_TRANSACTION должно устранять условие «Транзакция каталога находится в несогласованном состоянии» на уровне транзакция. Для CI_E_INCONSISTENT_TRANSACTION простое подавление HRESULT, бесконечный повтор или очистка всех настроек не доказывают восстановление контракта.
Для CI_E_INCONSISTENT_TRANSACTION после изменения повторите первоначальный сценарий, затем воспроизведите ближайшее ошибочное условие. Для CI_E_INCONSISTENT_TRANSACTION это подтверждает, что устранена причина, а не только изменён путь обработки ошибки.
Полезные материалы
- Microsoft: Full-text catalog components — CI_E_INCONSISTENT_TRANSACTION
- Microsoft: Indexing process — CI_E_INCONSISTENT_TRANSACTION
- Windows Search обзор — CI_E_INCONSISTENT_TRANSACTION
- Обзор Windows Search — CI_E_INCONSISTENT_TRANSACTION
Нужно найти другой код? Найти другой код состояния или ошибки.