| Предыдущий | Следующий |
| XACT_E_CONNECTION_DENIED | XACT_E_TIP_CONNECT_FAILED |
XACT_E_REENLISTTIMEOUT
Тайм-аут повторного подключения оставляет подготовленную ветвь неразрешённой
XACT_E_REENLISTTIMEOUT означает, что диспетчер ресурсов передал сведения восстановления для транзакции в неопределённом состоянии, но не получил решение commit или abort за допустимое время. Тайм-аут не разрешает локальный откат: координатор всё ещё может хранить устойчивое решение, которое необходимо выполнить.
Проверьте доступность DTC, идентичность диспетчера ресурсов и связь с координатором транзакции. Сохраните recovery blob и повторяйте reenlistment по циклу восстановления поставщика. Отличайте временной сбой связи от unknown-resource-manager из-за заново созданного GUID. Вызывайте recovery-complete только после разрешения всех устойчивых in-doubt записей, а не после истечения одного вызова reenlist.
Телеметрия цикла восстановления
- Тайм-аут reenlist, переданный диспетчером ресурсов.
- Конечная точка координатора и её доступность во время попытки.
- GUID диспетчера ресурсов и хеш recovery blob.
- Число и возраст неразрешённых подготовленных ветвей.
Ссылки
- Microsoft: повторное подключение IResourceManager
- Microsoft MS-DTCO: протокол восстановления
- PostgreSQL: подготовленные транзакции, ожидающие внешнего решения
Нужно найти другой код? Найти другой код состояния или ошибки.