diff --git a/ydb/docs/ru/core/reference/ydb-sdk/_includes/tooltips/condretryable.md b/ydb/docs/ru/core/reference/ydb-sdk/_includes/tooltips/condretryable.md
new file mode 100644
index 000000000000..5ae3ec69a47c
--- /dev/null
+++ b/ydb/docs/ru/core/reference/ydb-sdk/_includes/tooltips/condretryable.md
@@ -0,0 +1 @@
+**Ошибки, которые, предположительно, могут быть исправлены с помощью повтора после реакции клиентского приложения** (conditionally retryable) — включают в себя отсутствие ответа в течение отведенного времени, запрос аутентификации.
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/_includes/tooltips/fast_backoff.md b/ydb/docs/ru/core/reference/ydb-sdk/_includes/tooltips/fast_backoff.md
new file mode 100644
index 000000000000..13b0a2bcecbc
--- /dev/null
+++ b/ydb/docs/ru/core/reference/ydb-sdk/_includes/tooltips/fast_backoff.md
@@ -0,0 +1,3 @@
+**Короткая экспоненциальная задержка** – одна из стратегий задержек, применяемых в SDK.
+Первоначальный интервал при такой задержке составляет несколько **миллисекунд**. Для каждой последующей попытки интервал увеличивается по экспоненциальному закону.
+См. подробнее в статье [{#T}](../../error_handling.md#handling-retryable-errors).
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/_includes/tooltips/instant.md b/ydb/docs/ru/core/reference/ydb-sdk/_includes/tooltips/instant.md
new file mode 100644
index 000000000000..e3ebe6806f44
--- /dev/null
+++ b/ydb/docs/ru/core/reference/ydb-sdk/_includes/tooltips/instant.md
@@ -0,0 +1,3 @@
+**Немедленный повтор** – одна из стратегий задержек, применяемых в SDK.
+Повторные попытки при такой стратегии совершаются немедленно.
+См. подробнее в статье [{#T}](../../error_handling.md#handling-retryable-errors).
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/_includes/tooltips/nonretryable.md b/ydb/docs/ru/core/reference/ydb-sdk/_includes/tooltips/nonretryable.md
new file mode 100644
index 000000000000..ddfd6686d5d5
--- /dev/null
+++ b/ydb/docs/ru/core/reference/ydb-sdk/_includes/tooltips/nonretryable.md
@@ -0,0 +1 @@
+**Ошибки, которые не могут быть исправлены с помощью повтора** (non retryable) — включают в себя некорректно сформированные запросы, внутренние ошибки YDB, запросы, несоответствующие схеме данных. В такой ситуации нет необходимости повторять запрос, требуется дополнительное вмешательство со стороны разработчика.
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/_includes/tooltips/retryable.md b/ydb/docs/ru/core/reference/ydb-sdk/_includes/tooltips/retryable.md
new file mode 100644
index 000000000000..a21b4995ba9e
--- /dev/null
+++ b/ydb/docs/ru/core/reference/ydb-sdk/_includes/tooltips/retryable.md
@@ -0,0 +1 @@
+**Временные сбои** (retryable) — включают в себя кратковременную потерю сетевого соединения, временную недоступность или перегруженность одной из подсистем YDB, неспособность YDB ответить на запрос в течение установленного времени ожидания. В случае возникновения таких ошибок, повтор запроса, завершившегося с ошибкой, через некоторый промежуток времени с большой вероятностью будет выполнен успешно.
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/_includes/tooltips/slow_backoff.md b/ydb/docs/ru/core/reference/ydb-sdk/_includes/tooltips/slow_backoff.md
new file mode 100644
index 000000000000..8f7bafe79b85
--- /dev/null
+++ b/ydb/docs/ru/core/reference/ydb-sdk/_includes/tooltips/slow_backoff.md
@@ -0,0 +1,3 @@
+**Большая экспоненциальная задержка** – одна из стратегий задержек, применяемых в SDK.
+Первоначальный интервал при такой задержке составляет несколько **секунд**. Для каждой последующей попытки интервал увеличивается по экспоненциальному закону.
+См. подробнее в статье [{#T}](../../error_handling.md#handling-retryable-errors).
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/_includes/tooltips/test.md b/ydb/docs/ru/core/reference/ydb-sdk/_includes/tooltips/test.md
new file mode 100644
index 000000000000..8f7bafe79b85
--- /dev/null
+++ b/ydb/docs/ru/core/reference/ydb-sdk/_includes/tooltips/test.md
@@ -0,0 +1,3 @@
+**Большая экспоненциальная задержка** – одна из стратегий задержек, применяемых в SDK.
+Первоначальный интервал при такой задержке составляет несколько **секунд**. Для каждой последующей попытки интервал увеличивается по экспоненциальному закону.
+См. подробнее в статье [{#T}](../../error_handling.md#handling-retryable-errors).
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/error_handling.md b/ydb/docs/ru/core/reference/ydb-sdk/error_handling.md
index 184ed75339e9..a0e685fe55ba 100644
--- a/ydb/docs/ru/core/reference/ydb-sdk/error_handling.md
+++ b/ydb/docs/ru/core/reference/ydb-sdk/error_handling.md
@@ -10,7 +10,7 @@
* **Ошибки, которые, предположительно, могут быть исправлены с помощью повтора после реакции клиентского приложения** (conditionally retryable) — включают в себя отсутствие ответа в течение отведенного времени, запрос аутентификации.
-## Обработка временных сбоев (retryable errors)
+## Обработка временных сбоев (retryable errors) {#handling-retryable-errors}
{{ ydb-short-name }} SDK предоставляет [встроенный механизм обработки временных сбоев](../../recipes/ydb-sdk/retry.md). По умолчанию в SDK используется рекомендованная политика повторов, которую можно изменить в соответствии с требованиями клиентского приложения. {{ ydb-short-name }} возвращает коды завершения, которые позволяют определить, уместна ли повторная попытка и какой выбрать интервал.
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/grpc-status-codes.md b/ydb/docs/ru/core/reference/ydb-sdk/grpc-status-codes.md
index 6ef06221d8e9..7adede15684c 100644
--- a/ydb/docs/ru/core/reference/ydb-sdk/grpc-status-codes.md
+++ b/ydb/docs/ru/core/reference/ydb-sdk/grpc-status-codes.md
@@ -32,9 +32,9 @@
|
[CANCELLED](#cancelled)
|
-условно повторяемый
+[условно повторяемый](*condretryable)
|
-короткая
+[короткая](*fastbackoff)
|
да
||
@@ -44,7 +44,7 @@
|
[UNKNOWN](#unknown)
|
-неповторяемый
+[неповторяемый](*nonretryable)
|
–
|
@@ -56,7 +56,7 @@
|
[INVALID_ARGUMENT](#invalid-argument)
|
-неповторяемый
+[неповторяемый](*nonretryable)
|
–
|
@@ -68,9 +68,9 @@
|
[DEADLINE_EXCEEDED](#deadline-exceeded)
|
-условно повторяемый
+[условно повторяемый](*condretryable)
|
-короткая
+[короткая](*fastbackoff)
|
да
||
@@ -80,7 +80,7 @@
|
[NOT_FOUND](#not-found)
|
-неповторяемый
+[неповторяемый](*nonretryable)
|
–
|
@@ -92,7 +92,7 @@
|
[ALREADY_EXISTS](#already-exists)
|
-неповторяемый
+[неповторяемый](*nonretryable)
|
–
|
@@ -104,7 +104,7 @@
|
[PERMISSION_DENIED](#permission-denied)
|
-неповторяемый
+[неповторяемый](*nonretryable)
|
–
|
@@ -116,9 +116,9 @@
|
[RESOURCE_EXHAUSTED](#resource-exhausted)
|
-повторяемый
+[повторяемый](*retryable)
|
-большая
+[большая](*slowbackoff)
|
нет
||
@@ -128,7 +128,7 @@
|
[FAILED_PRECONDITION](#failed-precondition)
|
-неповторяемый
+[неповторяемый](*nonretryable)
|
–
|
@@ -140,9 +140,9 @@
|
[ABORTED](#aborted)
|
-повторяемый
+[повторяемый](*retryable)
|
-моментально
+[моментально](*instant)
|
да
||
@@ -152,7 +152,7 @@
|
[OUT_OF_RANGE](#out-of-range)
|
-неповторяемый
+[неповторяемый](*nonretryable)
|
–
|
@@ -164,7 +164,7 @@
|
[UNIMPLEMENTED](#unimplemented)
|
-неповторяемый
+[неповторяемый](*nonretryable)
|
–
|
@@ -176,9 +176,9 @@
|
[INTERNAL](#internal)
|
-условно повторяемый
+[условно повторяемый](*condretryable)
|
-короткая
+[короткая](*fastbackoff)
|
да
||
@@ -188,9 +188,9 @@
|
[UNAVAILABLE](#unavailable)
|
-условно повторяемый
+[условно повторяемый](*condretryable)
|
-короткая
+[короткая](*fastbackoff)
|
да
||
@@ -200,7 +200,7 @@
|
[DATA_LOSS](#data-loss)
|
-неповторяемый
+[неповторяемый](*nonretryable)
|
–
|
@@ -212,7 +212,7 @@
|
[UNAUTHENTICATED](#unauthenticated)
|
-неповторяемый
+[неповторяемый](*nonretryable)
|
–
|
@@ -393,3 +393,15 @@
Запрос не содержит действительных учётных данных для аутентификации операции.
Проверить использующийся токен. С актуальным токеном повторить запрос.
+
+[*instant]: {% include [instant](./_includes/tooltips/instant.md) %}
+
+[*fastbackoff]: {% include [fast backoff](./_includes/tooltips/fast_backoff.md) %}
+
+[*slowbackoff]: {% include [slow backoff](./_includes/tooltips/slow_backoff.md) %}
+
+[*retryable]: {% include [retryable](./_includes/tooltips/retryable.md) %}
+
+[*nonretryable]: {% include [nonretryable](./_includes/tooltips/nonretryable.md) %}
+
+[*condretryable]: {% include [conditionally retryable](./_includes/tooltips/condretryable.md) %}
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/ydb-status-codes.md b/ydb/docs/ru/core/reference/ydb-sdk/ydb-status-codes.md
index 0a4b51d457ee..196b1aeb5470 100644
--- a/ydb/docs/ru/core/reference/ydb-sdk/ydb-status-codes.md
+++ b/ydb/docs/ru/core/reference/ydb-sdk/ydb-status-codes.md
@@ -32,7 +32,7 @@
|
[BAD_REQUEST](#bad-request)
|
-неповторяемый
+[неповторяемый](*nonretryable)
|
–
|
@@ -44,7 +44,7 @@
|
[UNAUTHORIZED](#unauthorized)
|
-неповторяемый
+[неповторяемый](*nonretryable)
|
–
|
@@ -56,7 +56,7 @@
|
[INTERNAL_ERROR](#internal-error)
|
-неповторяемый
+[неповторяемый](*nonretryable)
|
–
|
@@ -68,9 +68,9 @@
|
[ABORTED](#aborted)
|
-повторяемый
+[повторяемый](*retryable)
|
-короткая
+[короткая](*fastbackoff)
|
нет
||
@@ -80,9 +80,9 @@
|
[UNAVAILABLE](#unavailable)
|
-повторяемый
+[повторяемый](*retryable)
|
-короткая
+[короткая](*fastbackoff)
|
нет
||
@@ -92,9 +92,9 @@
|
[OVERLOADED](#overloaded)
|
-повторяемый
+[повторяемый](*retryable)
|
-большая
+[большая](*slowbackoff)
|
нет
||
@@ -104,7 +104,7 @@
|
[SCHEME_ERROR](#scheme-error)
|
-неповторяемый
+[неповторяемый](*nonretryable)
|
–
|
@@ -116,7 +116,7 @@
|
[GENERIC_ERROR](#generic-error)
|
-неповторяемый
+[неповторяемый](*nonretryable)
|
–
|
@@ -128,7 +128,7 @@
|
[TIMEOUT](#timeout)
|
-неповторяемый
+[неповторяемый](*nonretryable)
|
@@ -142,9 +142,9 @@
|
[BAD_SESSION](#bad-session)
|
-повторяемый
+[повторяемый](*retryable)
|
-моментально
+[моментально](*instant)
|
да
||
@@ -154,7 +154,7 @@
|
[PRECONDITION_FAILED](#precondition-failed)
|
-неповторяемый
+[неповторяемый](*nonretryable)
|
–
|
@@ -166,7 +166,7 @@
|
[ALREADY_EXISTS](#already-exists)
|
-неповторяемый
+[неповторяемый](*nonretryable)
|
–
|
@@ -178,7 +178,7 @@
|
[NOT_FOUND](#not-found)
|
-неповторяемый
+[неповторяемый](*nonretryable)
|
–
|
@@ -190,9 +190,9 @@
|
[SESSION_EXPIRED](#session-expired)
|
-условно повторяемый
+[условно повторяемый](*condretryable)
|
-моментально
+[моментально](*instant)
|
да
||
@@ -202,10 +202,10 @@
|
[CANCELLED](#cancelled)
|
-неповторяемый
+[неповторяемый](*nonretryable)
|
-короткая
+[короткая](*fastbackoff)
|
нет
||
@@ -215,9 +215,9 @@
|
[UNDETERMINED](#undetermined)
|
-условно повторяемый
+[условно повторяемый](*condretryable)
|
-короткая
+[короткая](*fastbackoff)
|
нет
||
@@ -227,7 +227,7 @@
|
[UNSUPPORTED](#unsupported)
|
-неповторяемый
+[неповторяемый](*nonretryable)
|
–
|
@@ -239,9 +239,9 @@
|
[SESSION_BUSY](#session-busy)
|
-повторяемый
+[повторяемый](*retryable)
|
-короткая
+[короткая](*fastbackoff)
|
да
||
@@ -251,7 +251,7 @@
|
[EXTERNAL_ERROR](#external-error)
|
-неповторяемый
+[неповторяемый](*nonretryable)
|
–
|
@@ -494,7 +494,19 @@
Проанализировать подробное сообщение об ошибке и обратиться к разработчикам.
-
## See also
[Questions and answers: Errors](../../faq/errors.md)
+
+
+[*instant]: {% include [instant](./_includes/tooltips/instant.md) %}
+
+[*fastbackoff]: {% include [fast backoff](./_includes/tooltips/fast_backoff.md) %}
+
+[*slowbackoff]: {% include [slow backoff](./_includes/tooltips/slow_backoff.md) %}
+
+[*retryable]: {% include [retryable](./_includes/tooltips/retryable.md) %}
+
+[*nonretryable]: {% include [nonretryable](./_includes/tooltips/nonretryable.md) %}
+
+[*condretryable]: {% include [conditionally retryable](./_includes/tooltips/condretryable.md) %}