diff options
| author | maybenotilya <[email protected]> | 2026-04-17 11:57:44 +0300 |
|---|---|---|
| committer | maybenotilya <[email protected]> | 2026-04-17 12:34:55 +0300 |
| commit | a6423bf330c10089d7a0e2aaa8d971d0dcbb3fcf (patch) | |
| tree | 087131eb0146a82cd9c72d1b0a290d8d081c021e /yt/cpp/mapreduce/io/node_table_reader.cpp | |
| parent | 7bcfb91453e538211ed44e97c57d1104f543f920 (diff) | |
YT-26179: Add Abort for readers
* Changelog entry
Type: feature
Component: cpp-sdk
Add Abort for table readers
commit_hash:be5026883c90d18333f20468946f1e5a5b71839b
Diffstat (limited to 'yt/cpp/mapreduce/io/node_table_reader.cpp')
| -rw-r--r-- | yt/cpp/mapreduce/io/node_table_reader.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/yt/cpp/mapreduce/io/node_table_reader.cpp b/yt/cpp/mapreduce/io/node_table_reader.cpp index 558c42b30ee..01eaf5d9462 100644 --- a/yt/cpp/mapreduce/io/node_table_reader.cpp +++ b/yt/cpp/mapreduce/io/node_table_reader.cpp @@ -3,6 +3,7 @@ #include <yt/cpp/mapreduce/common/node_builder.h> #include <yt/cpp/mapreduce/common/wait_proxy.h> +#include <yt/cpp/mapreduce/interface/errors.h> #include <yt/cpp/mapreduce/interface/logging/yt_log.h> #include <library/cpp/yson/parser.h> @@ -341,6 +342,16 @@ bool TNodeTableReader::IsRawReaderExhausted() const return Finished_; } +void TNodeTableReader::Abort() +{ + Input_.Abort(); +} + +bool TNodeTableReader::IsAborted() const +{ + return Input_.IsAborted(); +} + //////////////////////////////////////////////////////////////////////////////// void TNodeTableReader::PrepareParsing() @@ -368,6 +379,9 @@ void TNodeTableReader::OnStreamError(std::exception_ptr exception, TString error void TNodeTableReader::CheckValidity() const { + if (IsAborted()) { + ythrow TInputStreamAbortedError() << "Stream was aborted"; + } if (!Valid_) { ythrow yexception() << "Iterator is not valid"; } |
