Что означает код HRESULT 0x80670001 (STATEREPOSITORY_E_CONCURRENCY_LOCKING_FAILURE)?

 
Предыдущий Следующий
E_HDAUDIO_NULL_LINKED_LIST_ENTRY STATEREPOSITORY_E_STATEMENT_INPROGRESS

STATEREPOSITORY_E_CONCURRENCY_LOCKING_FAILURE

Что означает STATEREPOSITORY_E_CONCURRENCY_LOCKING_FAILURE

STATEREPOSITORY_E_CONCURRENCY_LOCKING_FAILURE (0x80670001) — данные State Repository изменились после чтения, поэтому обновление с устаревшим состоянием было отклонено.

Что проверить

  • Сохраните ключ строки, версию или иной признак конкуренции до чтения и в момент неудачного UPDATE.
  • После конфликта перечитайте актуальные данные и заново примите бизнес-решение. Повтор того же UPDATE с прежней версией не устраняет optimistic concurrency conflict.
  • Определите второй поток или процесс, который успел изменить запись. Не удаляйте базу, WAL или служебные файлы ради ошибки конкуренции одной записи.

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

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

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


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