summaryrefslogtreecommitdiffstats
path: root/yt/cpp/mapreduce/io/lenval_table_reader.cpp
diff options
context:
space:
mode:
authorSavchenko Nadezhda <[email protected]>2024-04-18 10:57:19 +0200
committerGitHub <[email protected]>2024-04-18 11:57:19 +0300
commitb65fd71bd2a02aca196f47954fa03ac9aa94b8a0 (patch)
treebc8f88414f9a6648318388dca5b6a28ec36f8658 /yt/cpp/mapreduce/io/lenval_table_reader.cpp
parenta1bcf08e286611efa4a394a53c894ebb954acd93 (diff)
Don't ignore backoff and pass actual exception in Retry() (#3664)
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_;
}