From 3b4166be69a0e34027e2ac1cd0ef69c9efb2371a Mon Sep 17 00:00:00 2001 From: SpyCheese Date: Mon, 16 May 2022 12:29:39 +0300 Subject: [PATCH] Add logs in AsyncStateSerializer --- validator/state-serializer.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/validator/state-serializer.cpp b/validator/state-serializer.cpp index daf2de11..82cf31cc 100644 --- a/validator/state-serializer.cpp +++ b/validator/state-serializer.cpp @@ -123,11 +123,12 @@ void AsyncStateSerializer::next_iteration() { if (attempt_ < max_attempt() && last_key_block_id_.id.seqno < last_block_id_.id.seqno && need_serialize(masterchain_handle_)) { if (!have_masterchain_state_) { - // block next attempts immediately, but send actual request later - running_ = true; - delay_action( - [SelfId = actor_id(this)]() { td::actor::send_closure(SelfId, &AsyncStateSerializer::request_masterchain_state); }, - td::Timestamp::in(td::Random::fast(0, 3600))); + LOG(INFO) << "started serializing persistent state for " << masterchain_handle_->id().seqno(); + // block next attempts immediately, but send actual request later + running_ = true; + delay_action( + [SelfId = actor_id(this)]() { td::actor::send_closure(SelfId, &AsyncStateSerializer::request_masterchain_state); }, + td::Timestamp::in(td::Random::fast(0, 3600))); return; } while (next_idx_ < shards_.size()) { @@ -142,6 +143,7 @@ void AsyncStateSerializer::next_iteration() { return; } } + LOG(INFO) << "finished serializing persistent state for " << masterchain_handle_->id().seqno(); last_key_block_ts_ = masterchain_handle_->unix_time(); last_key_block_id_ = masterchain_handle_->id(); } @@ -182,6 +184,7 @@ void AsyncStateSerializer::got_masterchain_handle(BlockHandle handle) { } void AsyncStateSerializer::got_masterchain_state(td::Ref state) { + LOG(INFO) << "serializing masterchain state " << masterchain_handle_->id().seqno(); have_masterchain_state_ = true; CHECK(next_idx_ == 0); CHECK(shards_.size() == 0); @@ -204,6 +207,7 @@ void AsyncStateSerializer::got_masterchain_state(td::Ref state } void AsyncStateSerializer::stored_masterchain_state() { + LOG(INFO) << "finished serializing masterchain state " << masterchain_handle_->id().seqno(); running_ = false; next_iteration(); } @@ -221,16 +225,17 @@ void AsyncStateSerializer::got_shard_handle(BlockHandle handle) { } void AsyncStateSerializer::got_shard_state(BlockHandle handle, td::Ref state) { + LOG(INFO) << "serializing shard state " << handle->id().seqno(); auto write_data = [state] (td::FileFd& fd) { return state->serialize_to_file(fd); }; - auto P = td::PromiseCreator::lambda([SelfId = actor_id(this)](td::Result R) { + auto P = td::PromiseCreator::lambda([SelfId = actor_id(this), handle](td::Result R) { R.ensure(); + LOG(INFO) << "finished serializing shard state " << handle->id().seqno(); td::actor::send_closure(SelfId, &AsyncStateSerializer::success_handler); }); td::actor::send_closure(manager_, &ValidatorManager::store_persistent_state_file_gen, handle->id(), masterchain_handle_->id(), write_data, std::move(P)); - LOG(INFO) << "storing persistent state for " << masterchain_handle_->id().seqno() << ":" << handle->id().id.shard; next_idx_++; }