diff options
| author | Savchenko Nadezhda <[email protected]> | 2024-04-18 10:57:19 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-04-18 11:57:19 +0300 |
| commit | b65fd71bd2a02aca196f47954fa03ac9aa94b8a0 (patch) | |
| tree | bc8f88414f9a6648318388dca5b6a28ec36f8658 /yt/cpp/mapreduce/io/skiff_row_table_reader.cpp | |
| parent | a1bcf08e286611efa4a394a53c894ebb954acd93 (diff) | |
Don't ignore backoff and pass actual exception in Retry() (#3664)
Diffstat (limited to 'yt/cpp/mapreduce/io/skiff_row_table_reader.cpp')
| -rw-r--r-- | yt/cpp/mapreduce/io/skiff_row_table_reader.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/yt/cpp/mapreduce/io/skiff_row_table_reader.cpp b/yt/cpp/mapreduce/io/skiff_row_table_reader.cpp index c0004564bf2..3f7769a7e11 100644 --- a/yt/cpp/mapreduce/io/skiff_row_table_reader.cpp +++ b/yt/cpp/mapreduce/io/skiff_row_table_reader.cpp @@ -29,9 +29,9 @@ TSkiffRowTableReader::TSkiffRowTableReader( TSkiffRowTableReader::~TSkiffRowTableReader() { } -bool TSkiffRowTableReader::Retry() +bool TSkiffRowTableReader::Retry(const std::exception_ptr& error) { - if (PrepareRetry()) { + if (PrepareRetry(error)) { RowTaken_ = true; Next(); return true; @@ -39,9 +39,9 @@ bool TSkiffRowTableReader::Retry() return false; } -bool TSkiffRowTableReader::PrepareRetry() +bool TSkiffRowTableReader::PrepareRetry(const std::exception_ptr& error) { - if (Input_.Retry(RangeIndex_, RowIndex_)) { + if (Input_.Retry(RangeIndex_, RowIndex_, error)) { if (RangeIndex_) { RangeIndexShift_ += *RangeIndex_; } @@ -69,7 +69,7 @@ void TSkiffRowTableReader::ReadRow(const ISkiffRowParserPtr& parser) } catch (const std::exception& ex) { YT_LOG_ERROR("Read error during parsing: %v", ex.what()); - if (!Retry()) { + if (!Retry(std::make_exception_ptr(ex))) { throw; } } @@ -92,7 +92,7 @@ void TSkiffRowTableReader::SkipRow() } catch (const std::exception& ex) { YT_LOG_ERROR("Read error during skipping row: %v", ex.what()); - if (!Retry()) { + if (!Retry(std::make_exception_ptr(ex))) { throw; } } @@ -173,7 +173,7 @@ void TSkiffRowTableReader::Next() } catch (const std::exception& ex) { YT_LOG_ERROR("Read error: %v", ex.what()); - if (!PrepareRetry()) { + if (!PrepareRetry(std::make_exception_ptr(ex))) { throw; } } |
