aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandrewproni <andrewproni@yandex-team.com>2023-09-01 14:58:12 +0300
committerandrewproni <andrewproni@yandex-team.com>2023-09-01 15:40:49 +0300
commita175de66a4a76c1ea9b802906a7cc61cedda4fc9 (patch)
tree88828c66c11a93248adee12f98c2970ea38af032
parentc222002a85d84faff17bbdb211e1fdb9b4139dae (diff)
downloadydb-a175de66a4a76c1ea9b802906a7cc61cedda4fc9.tar.gz
Fix for fetch token in S3ApplicatorActor
-rw-r--r--ydb/core/fq/libs/actors/run_actor.cpp3
-rw-r--r--ydb/library/yql/providers/s3/actors/yql_s3_applicator_actor.cpp11
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());
+ }
}
}