Site icon EfmSoft

Что означает код HRESULT 0x0004D002 (XACT_S_READONLY)?

 
Предыдущий Следующий
XACT_S_DEFECT XACT_S_SOMENORETAIN

XACT_S_READONLY

Что означает этот результат

XACT_S_READONLY (0x0004D002) — информационный или успешный статус из области MSDTC / COM+ transactions. Короткий ориентир по имени: только чтение. Для диагностики важнее определить первый API и состояние объекта в момент возврата, чем переводить символическое имя как общее сообщение.

Исходное условие в техническом описании сформулировано так: Transaction completed through the read-only path. Эту формулировку следует сопоставлять с фактическим параметром, handle, файлом или state transition в trace.

Граница контракта

Проверяйте состояние самой транзакции отдельно от причины, которая привела её к этому состоянию. Для распределённого commit важны UOW, фаза протокола, голоса участников, ownership операции и терминальный outcome.

Для этого кода особенно полезно различать два признака из исходной документации: Transaction completed through the read-only path и A reporting transaction queries two databases and performs no updates. Both resources vote read-only, allowing the coordinator to avoid write-phase work.. Они задают более узкую границу, чем название facility.

Данные для диагностики

Порядок проверки

  1. Проверьте именно границу «только чтение» и зафиксируйте объект, аргумент или состояние, которое её подтверждает.
  2. Сверьте наблюдаемое состояние с отдельным исходным признаком: Verify that no enlisted resource produced durable changes and the optimized outcome matches the application operation. Without that proof, it can mask a caller error even though HRESULT failure severity is not set..

Исправление и контроль

Исправляйте конкретную фазу или ownership. Не повторяйте commit/abort на старом объекте вслепую и не создавайте новую бизнес-попытку, пока не понятен исход предыдущей транзакции.

Регрессионная проверка должна отдельно контролировать условие Also record xact_s_readonly_operation , xact_s_readonly_state_before , xact_s_readonly_state_after , UTC time, process and thread identifiers, component version, and a correlation ID. Telemetry for this result, should omit credentials while retaining nonsecret object identities and version data.. Положительный тест обязан проходить после узкого исправления, а отрицательный — по-прежнему воспроизводить ожидаемый отказ на заведомо неверном состоянии.

Технические ссылки


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

Exit mobile version