Статусы завершения сервера YDB
- 400000: SUCCESS
- 400010: BAD_REQUEST
- 400020: UNAUTHORIZED
- 400030: INTERNAL_ERROR
- 400040: ABORTED
- 400050: UNAVAILABLE
- 400060: OVERLOADED
- 400070: SCHEME_ERROR
- 400080: GENERIC_ERROR
- 400090: TIMEOUT
- 400100: BAD_SESSION
- 400120: PRECONDITION_FAILED
- 400130: ALREADY_EXISTS
- 400140: NOT_FOUND
- 400150: SESSION_EXPIRED
- 400160: CANCELLED
- 400170: UNDETERMINED
- 400180: UNSUPPORTED
- 400190: SESSION_BUSY
- 400200: EXTERNAL_ERROR
- Смотрите также
Код |
Статус |
Возможность повтора |
Стратегия задержек |
Пересоздать сессию |
– |
– |
– |
||
неповторяемый |
– |
нет |
||
неповторяемый |
– |
нет |
||
неповторяемый |
– |
нет |
||
повторяемый |
короткая |
нет |
||
повторяемый |
короткая |
нет |
||
повторяемый |
большая |
нет |
||
неповторяемый |
– |
нет |
||
неповторяемый |
– |
нет |
||
неповторяемый |
– |
нет |
||
повторяемый |
моментально |
да |
||
неповторяемый |
– |
нет |
||
неповторяемый |
– |
нет |
||
неповторяемый |
– |
нет |
||
повторяемый |
моментально |
да |
||
неповторяемый |
– |
нет |
||
условно повторяемый |
короткая |
нет |
||
неповторяемый |
– |
нет |
||
повторяемый |
короткая |
да |
||
неповторяемый |
– |
нет |
400000: SUCCESS
Не является ошибкой — запрос успешно обработан.
Ошибка в синтаксисе запроса, пропущены обязательные поля.
Проверьте запрос.
Отсутствует доступ к запрашиваемому схемному объекту (таблица, директория).
Запросите доступ у администратора базы данных.
Неизвестная внутренняя ошибка.
Зарегистрируйте проблему на GitHub или обратитесь к технической поддержке YDB.
Операция не выполнена (например, по причине инвалидации локов, TRANSACTION_LOCKS_INVALIDATED
в подробных сообщениях об ошибке).
Повторите всю транзакцию.
Часть системы недоступна.
Повторите последнее действие (запрос).
Часть системы перегружена.
Повторите последнее действие (запрос), снизьте интенсивность потока запросов.
Запрос не соответствует схеме.
Исправьте запрос или схему.
Неклассифицируемая ошибка, возможно, связанная с запросом.
Ознакомьтесь с подробным сообщением об ошибке. При необходимости зарегистрируйте проблему на GitHub или обратитесь к технической поддержке YDB.
Запрос не выполнен за отведённое время.
Можно повторить для идемпотентных запросов.
Данная сессия больше недоступна.
Пересоздайте сессию.
Запрос не может быть выполнен в текущем состоянии (например, вставка в таблицу с существующим ключом).
Исправьте состояние или запрос и повторите попытку.
Объект базы данных, который создаётся, уже существует в кластере YDB.
Ответ зависит от логики приложения.
Объект базы данных не найден в YDB.
Ответ зависит от логики приложения.
Срок действия сессии уже истёк.
Пересоздать сессию.
Запрос был отменён на сервере. Например, пользователь отменил запрос во встроенном UI, который выполнялся слишком долго, или запрос был сделан с опцией таймаута cancel_after.
Если выполнение запроса заняло слишком много времени, попробуйте оптимизировать запрос. Если использовалась опция таймаута cancel_after
, увеличьте её значение.
Состояние транзакции неизвестно. В результате выполнения запроса произошёл сбой, из-за которого невозможно определить состояние транзакции. На запросы, завершившиеся с таким статусом, распространяются гарантии целостности и атомарности транзакции. То есть либо все изменения зафиксированы, либо вся транзакция отменена.
Для идемпотентных транзакций можно повторить всю транзакцию с небольшой задержкой. В противном случае реакция зависит от логики приложения.
Запрос не поддерживается YDB, либо потому, что обработка таких запросов ещё не реализована в данной версии YDB, либо потому, что поддержка таких запросов не включена в конфигурации YDB.
Исправьте запрос или включите поддержку подобных запросов в конфигурации YDB.
Сессия занята.
Пересоздайте сессию.
Произошла ошибка во внешней системе, например, при обработке федеративного запроса или при импорте данных из внешнего источника.
Проанализируйте подробное сообщение об ошибке. При необходимости зарегистрируйте проблему на GitHub или обратитесь к технической поддержке YDB.
Смотрите также
Немедленный повтор – одна из стратегий задержек, применяемых в SDK при повторе запросов, завершившихся ошибкой.
Повторные попытки при такой стратегии совершаются немедленно.
См. подробнее в статье Обработка временных сбоев (retryable errors).
Короткая экспоненциальная задержка – одна из стратегий задержек, применяемых в SDK при повторе запросов, завершившихся ошибкой.
Первоначальный интервал при такой задержке составляет несколько миллисекунд. Для каждой последующей попытки интервал увеличивается экспоненциально.
См. подробнее в статье Обработка временных сбоев (retryable errors).
Большая экспоненциальная задержка – одна из стратегий задержек, применяемых в SDK при повторе запросов, завершившихся ошибкой.
Первоначальный интервал при такой задержке составляет несколько секунд. Для каждой последующей попытки интервал увеличивается по экспоненциальному закону.
См. подробнее в статье Обработка временных сбоев (retryable errors).
Временные сбои (retryable). Включают кратковременную потерю сетевого соединения, временную недоступность или перегруженность одной из подсистем YDB, а также неспособность YDB ответить на запрос в течение установленного времени ожидания. В случае возникновения таких ошибок повторный запрос через некоторый промежуток времени с высокой вероятностью будет выполнен успешно.
Ошибки, которые не могут быть исправлены с помощью повтора (non-retryable). Включают некорректно сформированные запросы, внутренние ошибки YDB, а также запросы, не соответствующие схеме данных. В такой ситуации нет необходимости повторять запрос, требуется дополнительное вмешательство разработчика.
Ошибки, которые, предположительно, могут быть исправлены с помощью повтора после реакции клиентского приложения (conditionally retryable). Возникают при идемпотентных операциях, таких как отсутствие ответа в течение отведённого времени или запрос аутентификации.