summaryrefslogtreecommitdiffstats
path: root/yt/cpp/mapreduce/io/lenval_table_reader.cpp
diff options
context:
space:
mode:
authornadya73 <[email protected]>2024-04-18 12:01:09 +0300
committernadya73 <[email protected]>2024-04-18 12:11:25 +0300
commit044c22732c7e0fa5cbdd08543c7cd68a501170a6 (patch)
tree1d2f571d26bd697eb3e30102cd8d90ae5a28a201 /yt/cpp/mapreduce/io/lenval_table_reader.cpp
parent4d77c1fb4de7a121c720a5b403ba7aa516a32ce3 (diff)
[yt/cpp/mapreduce] YT-21405: Don't ignore backoff and pass actual exception in Retry()
Don't ignore backoff and pass actual exception in Retry() b821c02fd21c9f8115cd2a4896372a9fda69e5f6
Diffstat (limited to 'yt/cpp/mapreduce/io/lenval_table_reader.cpp')
-rw-r--r--yt/cpp/mapreduce/io/lenval_table_reader.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/yt/cpp/mapreduce/io/lenval_table_reader.cpp b/yt/cpp/mapreduce/io/lenval_table_reader.cpp
index 4dba2a1a86d..d7a1c9754ee 100644
--- a/yt/cpp/mapreduce/io/lenval_table_reader.cpp
+++ b/yt/cpp/mapreduce/io/lenval_table_reader.cpp
@@ -111,8 +111,8 @@ void TLenvalTableReader::Next()
Length_ = static_cast<ui32>(value);
RowTaken_ = false;
AtStart_ = false;
- } catch (const std::exception& e) {
- if (!PrepareRetry()) {
+ } catch (const std::exception& ex) {
+ if (!PrepareRetry(std::make_exception_ptr(ex))) {
throw;
}
continue;
@@ -121,9 +121,9 @@ void TLenvalTableReader::Next()
}
}
-bool TLenvalTableReader::Retry()
+bool TLenvalTableReader::Retry(const std::exception_ptr& error)
{
- if (PrepareRetry()) {
+ if (PrepareRetry(error)) {
RowTaken_ = true;
Next();
return true;
@@ -183,9 +183,9 @@ bool TLenvalTableReader::IsRawReaderExhausted() const
return Finished_;
}
-bool TLenvalTableReader::PrepareRetry()
+bool TLenvalTableReader::PrepareRetry(const std::exception_ptr& error)
{
- if (Input_.Retry(RangeIndex_, RowIndex_)) {
+ if (Input_.Retry(RangeIndex_, RowIndex_, error)) {
if (RangeIndex_) {
RangeIndexShift_ += *RangeIndex_;
}