Skip to content

Generic lookup add timeouts #13239

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Jan 16, 2025

Conversation

yumkam
Copy link
Collaborator

@yumkam yumkam commented Jan 9, 2025

Changelog entry

...

Changelog category

  • Not for changelog (changelog entry is not required)

Additional information

...

@yumkam yumkam changed the title Generic lookup add timeouts [WIP] [RFC] Generic lookup add timeouts Jan 9, 2025
Copy link

github-actions bot commented Jan 9, 2025

2025-01-09 15:11:57 UTC Pre-commit check linux-x86_64-relwithdebinfo for 9cbc08c has started.
2025-01-09 15:12:10 UTC Artifacts will be uploaded here
2025-01-09 15:13:44 UTC Check cancelled

Copy link

github-actions bot commented Jan 9, 2025

2025-01-09 15:12:06 UTC Pre-commit check linux-x86_64-release-asan for 9cbc08c has started.
2025-01-09 15:12:18 UTC Artifacts will be uploaded here
2025-01-09 15:13:44 UTC Check cancelled

Copy link

github-actions bot commented Jan 9, 2025

2025-01-09 15:14:58 UTC Pre-commit check linux-x86_64-release-asan for 7162adf has started.
2025-01-09 15:15:23 UTC Artifacts will be uploaded here
2025-01-09 15:18:24 UTC ya make is running...
🔴 2025-01-09 15:26:09 UTC Build failed, see the logs. Also see fail summary

Copy link

github-actions bot commented Jan 9, 2025

2025-01-09 15:17:55 UTC Pre-commit check linux-x86_64-relwithdebinfo for 7162adf has started.
2025-01-09 15:18:18 UTC Artifacts will be uploaded here
2025-01-09 15:21:23 UTC ya make is running...
🔴 2025-01-09 15:27:18 UTC Build failed, see the logs. Also see fail summary

Copy link

github-actions bot commented Jan 9, 2025

2025-01-09 15:52:51 UTC Pre-commit check linux-x86_64-relwithdebinfo for 073a548 has started.
2025-01-09 15:53:04 UTC Artifacts will be uploaded here
2025-01-09 15:53:46 UTC Check cancelled

Copy link

github-actions bot commented Jan 9, 2025

2025-01-09 15:58:23 UTC Pre-commit check linux-x86_64-relwithdebinfo for da4fdac has started.
2025-01-09 15:58:40 UTC Artifacts will be uploaded here
2025-01-09 16:01:42 UTC ya make is running...
🔴 2025-01-09 16:07:32 UTC Build failed, see the logs. Also see fail summary

Copy link

github-actions bot commented Jan 9, 2025

2025-01-09 16:00:12 UTC Pre-commit check linux-x86_64-release-asan for da4fdac has started.
2025-01-09 16:00:24 UTC Artifacts will be uploaded here
2025-01-09 16:03:19 UTC ya make is running...
🔴 2025-01-09 16:09:37 UTC Build failed, see the logs. Also see fail summary

Copy link

github-actions bot commented Jan 10, 2025

2025-01-10 10:07:23 UTC Pre-commit check linux-x86_64-relwithdebinfo for 8d1d107 has started.
2025-01-10 10:07:34 UTC Artifacts will be uploaded here
2025-01-10 10:10:27 UTC ya make is running...
🔴 2025-01-10 10:14:03 UTC Build failed, see the logs. Also see fail summary

Copy link

github-actions bot commented Jan 10, 2025

2025-01-10 10:07:29 UTC Pre-commit check linux-x86_64-release-asan for 8d1d107 has started.
2025-01-10 10:07:41 UTC Artifacts will be uploaded here
2025-01-10 10:10:33 UTC ya make is running...
2025-01-10 10:17:30 UTC Check cancelled

Copy link

github-actions bot commented Jan 10, 2025

2025-01-10 10:18:28 UTC Pre-commit check linux-x86_64-relwithdebinfo for cf47ff4 has started.
2025-01-10 10:18:52 UTC Artifacts will be uploaded here
2025-01-10 10:22:22 UTC ya make is running...
🟡 2025-01-10 11:23:32 UTC Some tests failed, follow the links below. Going to retry failed tests...

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
27200 24675 0 5 2383 137

2025-01-10 11:26:27 UTC ya make is running... (failed tests rerun, try 2)
🟡 2025-01-10 11:40:29 UTC Some tests failed, follow the links below. Going to retry failed tests...

Test history | Ya make output | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
204 (only retried tests) 75 0 1 0 128

2025-01-10 11:40:37 UTC ya make is running... (failed tests rerun, try 3)
🟢 2025-01-10 11:52:26 UTC Tests successful.

Test history | Ya make output | Test bloat | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
184 (only retried tests) 58 0 0 0 126

🟢 2025-01-10 11:52:32 UTC Build successful.
🟢 2025-01-10 11:52:55 UTC ydbd size 2.1 GiB changed* by +19.0 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: 4ba7107 merge: cf47ff4 diff diff %
ydbd size 2 244 846 824 Bytes 2 244 866 264 Bytes +19.0 KiB +0.001%
ydbd stripped size 472 435 984 Bytes 472 439 248 Bytes +3.2 KiB +0.001%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

Copy link

github-actions bot commented Jan 10, 2025

2025-01-10 10:19:20 UTC Pre-commit check linux-x86_64-release-asan for cf47ff4 has started.
2025-01-10 10:19:32 UTC Artifacts will be uploaded here
2025-01-10 10:22:26 UTC ya make is running...
🟡 2025-01-10 11:32:50 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet Going to retry failed tests...

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
13275 13218 0 24 1 32

2025-01-10 11:34:18 UTC ya make is running... (failed tests rerun, try 2)
🟡 2025-01-10 11:46:38 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet Going to retry failed tests...

Test history | Ya make output | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
99 (only retried tests) 66 0 3 0 30

2025-01-10 11:46:45 UTC ya make is running... (failed tests rerun, try 3)
🟡 2025-01-10 11:58:22 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet

Test history | Ya make output | Test bloat | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
61 (only retried tests) 31 0 2 0 28

🟢 2025-01-10 11:58:31 UTC Build successful.
🟢 2025-01-10 11:59:02 UTC ydbd size 3.6 GiB changed* by +36.7 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: 4ba7107 merge: cf47ff4 diff diff %
ydbd size 3 874 742 304 Bytes 3 874 779 912 Bytes +36.7 KiB +0.001%
ydbd stripped size 1 350 963 920 Bytes 1 350 980 880 Bytes +16.6 KiB +0.001%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

Copy link

github-actions bot commented Jan 14, 2025

2025-01-14 10:56:45 UTC Pre-commit check linux-x86_64-relwithdebinfo for 3820c3d has started.
2025-01-14 10:57:07 UTC Artifacts will be uploaded here
2025-01-14 11:00:30 UTC ya make is running...
🟡 2025-01-14 11:56:39 UTC Some tests failed, follow the links below. Going to retry failed tests...

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
27222 24713 0 2 2380 127

2025-01-14 11:58:57 UTC ya make is running... (failed tests rerun, try 2)
🟢 2025-01-14 12:10:48 UTC Tests successful.

Test history | Ya make output | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
185 (only retried tests) 60 0 0 0 125

🟢 2025-01-14 12:10:55 UTC Build successful.
🟢 2025-01-14 12:11:14 UTC ydbd size 2.1 GiB changed* by +19.0 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: ecc265c merge: 3820c3d diff diff %
ydbd size 2 247 422 776 Bytes 2 247 442 216 Bytes +19.0 KiB +0.001%
ydbd stripped size 472 862 928 Bytes 472 866 192 Bytes +3.2 KiB +0.001%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

Copy link

github-actions bot commented Jan 14, 2025

2025-01-14 10:59:29 UTC Pre-commit check linux-x86_64-release-asan for 3820c3d has started.
2025-01-14 10:59:40 UTC Artifacts will be uploaded here
2025-01-14 11:02:41 UTC ya make is running...
🟡 2025-01-14 12:08:55 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet Going to retry failed tests...

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
13291 13246 0 14 2 29

2025-01-14 12:10:04 UTC ya make is running... (failed tests rerun, try 2)
🟢 2025-01-14 12:22:29 UTC Tests successful.

Test history | Ya make output | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
76 (only retried tests) 48 0 0 2 26

🟢 2025-01-14 12:22:36 UTC Build successful.
🟢 2025-01-14 12:23:10 UTC ydbd size 3.6 GiB changed* by +32.7 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: ecc265c merge: 3820c3d diff diff %
ydbd size 3 895 285 816 Bytes 3 895 319 304 Bytes +32.7 KiB +0.001%
ydbd stripped size 1 360 915 440 Bytes 1 360 928 304 Bytes +12.6 KiB +0.001%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

@yumkam yumkam force-pushed the generic-lookup-add-timeouts branch from 12883ed to 618be91 Compare January 16, 2025 09:23
Copy link

github-actions bot commented Jan 16, 2025

2025-01-16 09:26:43 UTC Pre-commit check linux-x86_64-relwithdebinfo for ba8293e has started.
2025-01-16 09:26:55 UTC Artifacts will be uploaded here
2025-01-16 09:29:50 UTC ya make is running...
2025-01-16 09:37:18 UTC Check cancelled

Copy link

github-actions bot commented Jan 16, 2025

2025-01-16 09:27:46 UTC Pre-commit check linux-x86_64-release-asan for ba8293e has started.
2025-01-16 09:27:58 UTC Artifacts will be uploaded here
2025-01-16 09:30:59 UTC ya make is running...
2025-01-16 09:37:12 UTC Check cancelled

@@ -28,6 +28,8 @@ namespace NYql::NDq {
using namespace NActors;

namespace {
constexpr ui32 RequestRetriesLimit = 10; // TODO lookup parameters or PRAGMA?
constexpr TDuration RequestTimeout = TDuration::Minutes(3); // TODO lookup parameters or PRAGMA?
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Это должна быть серверная настройка. В pragma мы такое пользователям не даем крутить. Давай лимит поставим 30 секунд, 3 минуты слишком много для ydb запроса. Какое сейчас максимальное время ответа?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Это надо смотреть в реальных условиях; зависит от: загрузки базы, насколько она далеко по сети, сколько накопилось ключей и какого они размера (ну и первый запрос (per key number) ещё должен успеть откомпилироваться).
Локально я больше нескольких секунд не видел. Но, кмк, 30 секунд это слишком хрупко.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В сумме 30 минут ретраить это слишком жестко, давай параметры подберем чтобы не больше 3-5 минут тогда было. Давай число ретраев тогда до 2-х уменьшим

if (NConnector::GrpcStatusNeedsRetry(status) || status.GRpcStatusCode == grpc::DEADLINE_EXCEEDED) {
if (retriesRemaining) {
const auto retry = RequestRetriesLimit - retriesRemaining;
const auto delay = TDuration::MilliSeconds(1u << retry); // Exponential delay from 1ms to ~0.5s
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

У нас уже есть библиотека для ретраве. Используй готовую либу https://a.yandex-team.ru/arcadia/library/cpp/retry/retry_policy.h?rev=r15686703#L269

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Хмм... с одной стороны, замена велосипеда напрашивается. С другой, это задерживает фикс. Может, замержить as is и перенести замену ретраев в follow-up?

@yumkam yumkam force-pushed the generic-lookup-add-timeouts branch from 618be91 to 81552aa Compare January 16, 2025 09:36
Copy link

github-actions bot commented Jan 16, 2025

2025-01-16 09:38:46 UTC Pre-commit check linux-x86_64-release-asan for ad4950a has started.
2025-01-16 09:39:00 UTC Artifacts will be uploaded here
2025-01-16 09:42:04 UTC ya make is running...
🟡 2025-01-16 10:50:04 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet Going to retry failed tests...

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
13319 13263 0 16 11 29

2025-01-16 10:51:12 UTC ya make is running... (failed tests rerun, try 2)
🟢 2025-01-16 11:03:04 UTC Tests successful.

Test history | Ya make output | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
90 (only retried tests) 64 0 0 0 26

🟢 2025-01-16 11:03:11 UTC Build successful.
🟢 2025-01-16 11:03:36 UTC ydbd size 3.6 GiB changed* by +30.6 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: 0fd4bda merge: ad4950a diff diff %
ydbd size 3 902 763 440 Bytes 3 902 794 808 Bytes +30.6 KiB +0.001%
ydbd stripped size 1 362 492 272 Bytes 1 362 501 712 Bytes +9.2 KiB +0.001%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

Copy link

github-actions bot commented Jan 16, 2025

2025-01-16 09:39:35 UTC Pre-commit check linux-x86_64-relwithdebinfo for ad4950a has started.
2025-01-16 09:39:47 UTC Artifacts will be uploaded here
2025-01-16 09:42:51 UTC ya make is running...
🟡 2025-01-16 10:43:44 UTC Some tests failed, follow the links below. Going to retry failed tests...

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
27268 24760 0 4 2381 123

2025-01-16 10:46:05 UTC ya make is running... (failed tests rerun, try 2)
🟢 2025-01-16 10:58:06 UTC Tests successful.

Test history | Ya make output | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
183 (only retried tests) 62 0 0 0 121

🟢 2025-01-16 10:58:13 UTC Build successful.
🟢 2025-01-16 10:58:33 UTC ydbd size 2.1 GiB changed* by +1.3 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: 27eb560 merge: ad4950a diff diff %
ydbd size 2 252 462 632 Bytes 2 252 463 944 Bytes +1.3 KiB +0.000%
ydbd stripped size 473 397 200 Bytes 473 397 264 Bytes +64 Bytes +0.000%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

@yumkam yumkam changed the title [WIP] [RFC] Generic lookup add timeouts [RFC] Generic lookup add timeouts Jan 16, 2025
@yumkam yumkam marked this pull request as ready for review January 16, 2025 12:48
@yumkam yumkam requested a review from a team as a code owner January 16, 2025 12:48
@yumkam yumkam changed the title [RFC] Generic lookup add timeouts Generic lookup add timeouts Jan 16, 2025
@yumkam yumkam merged commit ea09754 into ydb-platform:main Jan 16, 2025
15 checks passed
yumkam added a commit to yumkam/ydb that referenced this pull request Jan 16, 2025
azevaykin pushed a commit to azevaykin/ydb that referenced this pull request Feb 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants