| Предыдущий | Следующий |
| ERROR_CLOUD_FILE_INCOMPATIBLE_HARDLINKS | ERROR_CLOUD_FILE_REQUEST_CANCELED |
ERROR_CLOUD_FILE_PROPERTY_LOCK_CONFLICT
Параллельный доступ к свойствам мешает безопасному обновлению метаданных
ERROR_CLOUD_FILE_PROPERTY_LOCK_CONFLICT сообщает о конфликте синхронизации в хранилище свойств облачного файла. Это не обычное нарушение совместного доступа к файлу и оно не обязательно связано с гидратированным содержимым. Две операции поставщика, пути восстановления или читатели и писатели свойств могут пересекаться так, что атомарное обновление свойства становится невозможным.
Записывайте FileIdentity заполнителя, идентификатор свойства, тип операции и время жизни каждой транзакции свойств или блокировки поставщика. Ищите обратные вызовы, которые повторно входят в управление свойствами того же заполнителя, и пути отмены, сохраняющие блокировку. Сериализуйте обновления по каждому заполнителю и делайте критическую секцию короткой; повторные параллельные попытки обычно усиливают конкуренцию. Если конфликт сохраняется после завершения всей работы поставщика, отдельно исследуйте устаревшие или повреждённые метаданные свойств.
Что проверить
- Сопоставляйте операции со свойствами по FileIdentity и идентификатору свойства.
- Выявляйте повторный вход из обратных вызовов и блокировки, удерживаемые во время удалённого ввода-вывода.
- Сериализуйте конфликтующие обновления и освобождайте состояние блокировки при отмене и ошибках.
Ссылки
- Microsoft: поля FileIdentity и PropertiesSize
- Microsoft: модель выполнения обратных вызовов поставщика
- Microsoft: синхронизированное обновление заполнителя
Нужно найти другой код? Найти другой код состояния или ошибки.