diff options
author | andrewproni <andrewproni@yandex-team.com> | 2023-09-01 14:58:12 +0300 |
---|---|---|
committer | andrewproni <andrewproni@yandex-team.com> | 2023-09-01 15:40:49 +0300 |
commit | a175de66a4a76c1ea9b802906a7cc61cedda4fc9 (patch) | |
tree | 88828c66c11a93248adee12f98c2970ea38af032 | |
parent | c222002a85d84faff17bbdb211e1fdb9b4139dae (diff) | |
download | ydb-a175de66a4a76c1ea9b802906a7cc61cedda4fc9.tar.gz |
Fix for fetch token in S3ApplicatorActor
-rw-r--r-- | ydb/core/fq/libs/actors/run_actor.cpp | 3 | ||||
-rw-r--r-- | ydb/library/yql/providers/s3/actors/yql_s3_applicator_actor.cpp | 11 |
2 files changed, 10 insertions, 4 deletions
diff --git a/ydb/core/fq/libs/actors/run_actor.cpp b/ydb/core/fq/libs/actors/run_actor.cpp index 689d17c3da7..052975c0674 100644 --- a/ydb/core/fq/libs/actors/run_actor.cpp +++ b/ydb/core/fq/libs/actors/run_actor.cpp @@ -822,7 +822,8 @@ private: void HandleFinish(TEvents::TEvEffectApplicationResult::TPtr ev) { if (ev->Get()->FatalError) { - // TODO: special fatal error handling + Fail(ev->Get()->Issues.ToOneLineString()); + return; } if (ev->Get()->Issues) { LOG_W("Effect Issues: " << ev->Get()->Issues.ToOneLineString()); diff --git a/ydb/library/yql/providers/s3/actors/yql_s3_applicator_actor.cpp b/ydb/library/yql/providers/s3/actors/yql_s3_applicator_actor.cpp index 24df57da39d..a9ec55e5de1 100644 --- a/ydb/library/yql/providers/s3/actors/yql_s3_applicator_actor.cpp +++ b/ydb/library/yql/providers/s3/actors/yql_s3_applicator_actor.cpp @@ -301,9 +301,14 @@ public: void PopRequests() { while (!RequestQueue.empty() && HttpRequestInflight < 100) { - RequestQueue.front()(*this); - RequestQueue.pop(); - HttpRequestInflight++; + try { + RequestQueue.front()(*this); + RequestQueue.pop(); + HttpRequestInflight++; + } catch (const std::exception& e) { + LOG_E("Exception: " << e.what()); + Finish(true, TStringBuilder{} << "Error while processing HTTP request: " << e.what()); + } } } |