summaryrefslogtreecommitdiffstats
path: root/yt/cpp/mapreduce/client/init.cpp
diff options
context:
space:
mode:
authoraneporada <[email protected]>2026-04-03 12:09:18 +0300
committeraneporada <[email protected]>2026-04-03 12:50:44 +0300
commit16d86dfe821de1e6eb4ca8e255ab3853cf179763 (patch)
tree48df032a6f96c4d30bfda509a409c067e5883415 /yt/cpp/mapreduce/client/init.cpp
parentdff5b389f1afa26d501c95b92b6c4fd5ede127bc (diff)
Support passing jobstate via env variable in operation spec
commit_hash:dc21655a5449d9e1d58b46e933baa3eae2c6e04a
Diffstat (limited to 'yt/cpp/mapreduce/client/init.cpp')
-rw-r--r--yt/cpp/mapreduce/client/init.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/yt/cpp/mapreduce/client/init.cpp b/yt/cpp/mapreduce/client/init.cpp
index 8c21c8602d6..d4ad7f8769c 100644
--- a/yt/cpp/mapreduce/client/init.cpp
+++ b/yt/cpp/mapreduce/client/init.cpp
@@ -2,6 +2,7 @@
#include "abortable_registry.h"
#include "job_profiler.h"
+#include "pack_jobstate.h"
#include <yt/cpp/mapreduce/http/requests.h>
@@ -243,10 +244,12 @@ void ExecJob(int argc, const char** argv, const TInitializeOptions& options)
NDetail::OutputTableCount = static_cast<i64>(outputTableCount);
std::unique_ptr<IInputStream> jobStateStream;
- if (hasState) {
- jobStateStream = std::make_unique<TIFStream>("jobstate");
- } else {
+ if (!hasState) {
jobStateStream = std::make_unique<TBufferStream>(0);
+ } else if (auto jobState = TryGetEnv("YT_JOB_STATE")) {
+ jobStateStream = std::make_unique<TStringStream>(UnpackJobState(*jobState));
+ } else {
+ jobStateStream = std::make_unique<TIFStream>("jobstate");
}
int ret = 1;