aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonstantin Khlebnikov <koct9i@gmail.com>2024-05-22 23:38:21 +0300
committerrobot-piglet <robot-piglet@yandex-team.com>2024-05-22 23:50:49 +0300
commit2db00937d0f8047775b8c0ac8dd53b6ad0a29b89 (patch)
treecca4b9a2bcc555c033334e56767dd058c71703d5
parente87910961a67ae6691b2768e5b82d9e70c6ba0cb (diff)
downloadydb-2db00937d0f8047775b8c0ac8dd53b6ad0a29b89.tar.gz
Add EProcessErrorCode::CannotStartProcess
Surprisingly there was no clear way to tell that process hasn't been started. --- a001c76e5418ae090191ad17a5e6d40086db1114 Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/598
-rw-r--r--yt/yt/core/misc/public.h1
-rw-r--r--yt/yt/library/process/process.cpp5
2 files changed, 5 insertions, 1 deletions
diff --git a/yt/yt/core/misc/public.h b/yt/yt/core/misc/public.h
index b43ad3d9f6..77464ae366 100644
--- a/yt/yt/core/misc/public.h
+++ b/yt/yt/core/misc/public.h
@@ -167,6 +167,7 @@ DEFINE_ENUM(EProcessErrorCode,
((NonZeroExitCode) (10000))
((Signal) (10001))
((CannotResolveBinary)(10002))
+ ((CannotStartProcess) (10003))
);
////////////////////////////////////////////////////////////////////////////////
diff --git a/yt/yt/library/process/process.cpp b/yt/yt/library/process/process.cpp
index 7dfe79e2fb..12f1be525a 100644
--- a/yt/yt/library/process/process.cpp
+++ b/yt/yt/library/process/process.cpp
@@ -755,7 +755,10 @@ TFuture<void> TProcessBase::Spawn()
DoSpawn();
} catch (const std::exception& ex) {
- FinishedPromise_.TrySet(ex);
+ FinishedPromise_.TrySet(TError(EProcessErrorCode::CannotStartProcess,
+ "Cannot spawn child process (Path: %v)",
+ ResolvedPath_)
+ << ex);
}
return FinishedPromise_;
}