Site icon EfmSoft

Что означает код HRESULT 0x8004D000 (XACT_E_ALREADYOTHERSINGLEPHASE)?

 
Предыдущий Следующий
FSRM_E_MODULE_TIMEOUT XACT_E_CANTRETAIN

XACT_E_ALREADYOTHERSINGLEPHASE

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

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

Проверьте порядок зачисления и флаги каждого диспетчера ресурсов. Компонент, который лишь предпочитает однофазное завершение, всё равно должен принимать обычные уведомления prepare и второй фазы, если оптимизацию уже получил другой постоянный участник. Не устраняйте ошибку удалением второго зачисления, если оно защищает реальные постоянные данные; оба ресурса должны участвовать в обычной двухфазной фиксации.

Данные для определения конкурирующих зачислений

Ссылки


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

Exit mobile version