Skip to content

Commit

Permalink
Check pack_statistics for nullptr (#950)
Browse files Browse the repository at this point in the history
  • Loading branch information
dungeon-master-666 authored Mar 29, 2024
1 parent 576cf9d commit 46ca0e6
Showing 1 changed file with 12 additions and 4 deletions.
16 changes: 12 additions & 4 deletions validator/db/archive-slice.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -670,7 +670,9 @@ void ArchiveSlice::do_close() {
LOG(DEBUG) << "Closing archive slice " << db_path_;
status_ = st_closed;
kv_ = {};
statistics_.pack_statistics->record_close(packages_.size());
if (statistics_.pack_statistics) {
statistics_.pack_statistics->record_close(packages_.size());
}
packages_.clear();
}

Expand Down Expand Up @@ -774,7 +776,9 @@ void ArchiveSlice::add_package(td::uint32 seqno, td::uint64 size, td::uint32 ver
LOG(FATAL) << "failed to open/create archive '" << path << "': " << R.move_as_error();
return;
}
statistics_.pack_statistics->record_open();
if (statistics_.pack_statistics) {
statistics_.pack_statistics->record_open();
}
auto idx = td::narrow_cast<td::uint32>(packages_.size());
if (finalized_) {
packages_.emplace_back(nullptr, td::actor::ActorOwn<PackageWriter>(), seqno, path, idx, version);
Expand Down Expand Up @@ -817,7 +821,9 @@ void ArchiveSlice::destroy(td::Promise<td::Unit> promise) {
for (auto &p : packages_) {
td::unlink(p.path).ensure();
}
statistics_.pack_statistics->record_close(packages_.size());
if (statistics_.pack_statistics) {
statistics_.pack_statistics->record_close(packages_.size());
}
packages_.clear();
kv_ = nullptr;

Expand Down Expand Up @@ -1023,7 +1029,9 @@ void ArchiveSlice::truncate(BlockSeqno masterchain_seqno, ConstBlockHandle handl
for (auto idx = pack->idx + 1; idx < packages_.size(); idx++) {
td::unlink(packages_[idx].path).ensure();
}
statistics_.pack_statistics->record_close(packages_.size() - pack->idx - 1);
if (statistics_.pack_statistics) {
statistics_.pack_statistics->record_close(packages_.size() - pack->idx - 1);
}
packages_.erase(packages_.begin() + pack->idx + 1, packages_.end());

kv_->commit_transaction().ensure();
Expand Down

0 comments on commit 46ca0e6

Please sign in to comment.