| Предыдущий | Следующий |
| STATUS_REDIRECTOR_PAUSED | STATUS_PROFILING_AT_LIMIT |
STATUS_NET_WRITE_FAULT
STATUS_NET_WRITE_FAULT особенно важен, поскольку возникает на пути записи. Он не устанавливает, получила ли удалённая сторона до появления ошибки ни одного, часть или все данные. Клиент, вслепую повторяющий запрос, может продублировать обновление или нарушить последовательность протокола.
Как сузить причину
Записывайте идентичность операции, смещение или версию объекта, объём данных, подтверждённый протоколом, идентификатор запроса и удалённый файл или общий ресурс. Безопасный механизм восстановления зависит от приложения: это могут быть идемпотентные идентификаторы записи, версии compare-and-set, надёжное состояние, транзакционный уровень или последующее чтение, подтверждающее итоговое состояние сервера.
Не сводите диагностику к проверке доступности конечной точки. Запись могла пройти по сети и завершиться сбоем только потому, что клиент потерял ответ или сервер не смог завершить сохранение.
Важные данные
- Определите, безопасно ли повторять операцию и почему.
- Сохраните число байтов, идентификаторы запросов и серверные журналы до переподключения.
- После восстановления проверьте удалённое состояние, а не считайте, что ошибка означает отсутствие записи.
Ссылки
- Открытые спецификации Microsoft: справочник NTSTATUS
- Microsoft: обзор SMB
- Samba: руководство smbclient
Нужно найти другой код? Найти другой код состояния или ошибки.