Что означает код HRESULT 0x8004D005 (XACT_E_HEURISTICCOMMIT)?

 
Предыдущий Следующий
XACT_E_HEURISTICABORT XACT_E_HEURISTICDAMAGE

XACT_E_HEURISTICCOMMIT

description[Диспетчер ресурсов самостоятельно выполнил фиксацию вместо ожидаемого отката.]

Эвристическая фиксация может оставить постоянные изменения после сбоя глобальной транзакции

XACT_E_HEURISTICCOMMIT означает, что диспетчер ресурсов самостоятельно зафиксировал свою ветвь, когда согласованная обработка ожидала отката или больше не могла подтвердить итог. Локальные данные стали постоянными, но атомарность всей транзакции могла быть нарушена.

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

Данные, необходимые до компенсации

  • Локальная запись фиксации и идентификатор ветви.
  • Решение глобального координатора или неразрешённый статус.
  • Результат каждого другого постоянного участника.
  • Ключ идемпотентности или бизнес-идентификатор корректирующей операции.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.