Что означает код NTSTATUS 0xC0190055 (STATUS_TRANSACTION_OBJECT_EXPIRED)?

 
Предыдущий Следующий
STATUS_TRANSACTION_NOT_ROOT STATUS_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION

STATUS_TRANSACTION_OBJECT_EXPIRED

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

В отличие от STATUS_TRANSACTION_NOT_FOUND, этот статус обычно следует за дескриптором, который ранее существовал. В отличие от STATUS_TRANSACTION_NOT_ACTIVE, он указывает на закрытие связи с диспетчером, а не только на конечное состояние транзакции.

Ранее допустимый дескриптор объекта транзакции истёк

  • Отслеживайте владение дескрипторами TM, RM, зачисления и транзакции, включая путь завершения, закрывший диспетчер.
  • Закройте устаревшие дескрипторы и повторно открывайте нужные объекты только после запуска диспетчера транзакций и восстановления диспетчера ресурсов.
  • Не кэшируйте дескрипторы KTM в долгоживущих рабочих потоках без стратегии жизненного цикла и отмены.

Ссылки


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