From 016846c19cc42399782e38cbafaab080ac32fd6c Mon Sep 17 00:00:00 2001 From: Andrey Tvorozhkov Date: Sat, 10 Feb 2024 15:36:11 +0300 Subject: [PATCH] Try --- validator/db/archive-slice.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/validator/db/archive-slice.cpp b/validator/db/archive-slice.cpp index 0abd01a5c..4fa95ffab 100644 --- a/validator/db/archive-slice.cpp +++ b/validator/db/archive-slice.cpp @@ -71,12 +71,12 @@ class PackageReader : public td::actor::Actor { } auto result = package_->read(offset_); - if (result.is_error() and raise_on_fail){ - on_fail_.set_value(std::move(promise_)); + if (result.is_error() and raise_on_fail) { + reinit(); + // on_fail_.set_value(std::move(promise_)); return; - } else { - on_fail_.set_error(td::Status::Error(0)); } + on_fail_.set_error(td::Status::Error(0)); package_ = {}; promise_.set_result(std::move(result)); @@ -719,6 +719,7 @@ td::Result ArchiveSlice::choose_package(BlockSeqno return &packages_[v]; } else { + LOG(ERROR) << "Force adding package files!"; auto max_val = masterchain_seqno - archive_id_ - (masterchain_seqno % slice_size_); max_val /= slice_size_; std::string value; @@ -733,7 +734,9 @@ td::Result ArchiveSlice::choose_package(BlockSeqno if (R2.move_as_ok() == td::KeyValue::GetStatus::Ok) { ver = td::to_integer(value); } - add_package(archive_id_ + slice_size_ * i, len, ver); + auto packid = archive_id_ + slice_size_ * i; + LOG(ERROR) << "Force add: " << packid << " " << len << " " << ver; + add_package(packid, len, ver); } return &packages_[max_val];