summaryrefslogtreecommitdiffstats
path: root/yt/cpp/mapreduce/io/skiff_row_table_reader.cpp
diff options
context:
space:
mode:
authormaybenotilya <[email protected]>2026-04-17 11:57:44 +0300
committermaybenotilya <[email protected]>2026-04-17 12:34:55 +0300
commita6423bf330c10089d7a0e2aaa8d971d0dcbb3fcf (patch)
tree087131eb0146a82cd9c72d1b0a290d8d081c021e /yt/cpp/mapreduce/io/skiff_row_table_reader.cpp
parent7bcfb91453e538211ed44e97c57d1104f543f920 (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/skiff_row_table_reader.cpp')
-rw-r--r--yt/cpp/mapreduce/io/skiff_row_table_reader.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/yt/cpp/mapreduce/io/skiff_row_table_reader.cpp b/yt/cpp/mapreduce/io/skiff_row_table_reader.cpp
index f77f2d71307..6de1d222d53 100644
--- a/yt/cpp/mapreduce/io/skiff_row_table_reader.cpp
+++ b/yt/cpp/mapreduce/io/skiff_row_table_reader.cpp
@@ -1,5 +1,6 @@
#include "skiff_row_table_reader.h"
+#include <yt/cpp/mapreduce/interface/errors.h>
#include <yt/cpp/mapreduce/interface/logging/yt_log.h>
#include <yt/cpp/mapreduce/interface/skiff_row.h>
@@ -100,6 +101,9 @@ void TSkiffRowTableReader::SkipRow()
}
void TSkiffRowTableReader::CheckValidity() const {
+ if (IsAborted()) {
+ ythrow TInputStreamAbortedError() << "Stream was aborted";
+ }
if (!IsValid()) {
ythrow yexception() << "Iterator is not valid";
}
@@ -230,6 +234,16 @@ bool TSkiffRowTableReader::IsRawReaderExhausted() const {
return Finished_;
}
+void TSkiffRowTableReader::Abort()
+{
+ Input_.Abort();
+}
+
+bool TSkiffRowTableReader::IsAborted() const
+{
+ return Input_.IsAborted();
+}
+
////////////////////////////////////////////////////////////////////////////////
} // namespace NYT