summaryrefslogtreecommitdiffstats
path: root/yt/cpp/mapreduce/io/node_table_reader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'yt/cpp/mapreduce/io/node_table_reader.cpp')
-rw-r--r--yt/cpp/mapreduce/io/node_table_reader.cpp14
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";
}