From e60bb35ebd78190051df68ff3d5b21d939a1e3f3 Mon Sep 17 00:00:00 2001 From: Jack Robison Date: Tue, 20 Sep 2022 13:42:57 -0400 Subject: [PATCH] fix https://github.com/lbryio/hub/issues/61 --- hub/scribe/db.py | 7 ++----- hub/scribe/service.py | 3 +++ 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/hub/scribe/db.py b/hub/scribe/db.py index b9f453e..c578518 100644 --- a/hub/scribe/db.py +++ b/hub/scribe/db.py @@ -82,6 +82,7 @@ class PrimaryDB(SecondaryDB): prefix_db.unsafe_commit() self.logger.info(f"wrote {hashX_cnt}/{len(hashXs)} hashXs statuses...") self._index_address_status = True + self.last_indexed_address_status_height = self.db_height self.write_db_state() self.prefix_db.unsafe_commit() self.logger.info("finished indexing address statuses") @@ -101,17 +102,13 @@ class PrimaryDB(SecondaryDB): def write_db_state(self): """Write (UTXO) state to the batch.""" - last_indexed_address_status = 0 if self.db_height > 0: existing = self.prefix_db.db_state.get() - last_indexed_address_status = existing.hashX_status_last_indexed_height self.prefix_db.db_state.stage_delete((), existing.expanded) - if self._index_address_status: - last_indexed_address_status = self.db_height self.prefix_db.db_state.stage_put((), ( self.genesis_bytes, self.db_height, self.db_tx_count, self.db_tip, self.utxo_flush_count, int(self.wall_time), self.catching_up, self._index_address_status, self.db_version, self.hist_flush_count, self.hist_comp_flush_count, self.hist_comp_cursor, - self.es_sync_height, last_indexed_address_status + self.es_sync_height, self.last_indexed_address_status_height ) ) diff --git a/hub/scribe/service.py b/hub/scribe/service.py index 423d187..7e7ef81 100644 --- a/hub/scribe/service.py +++ b/hub/scribe/service.py @@ -1486,8 +1486,11 @@ class BlockchainProcessorService(BlockchainService): # update hashX history status hashes and compactify the histories self._get_update_hashX_histories_ops(height) + # only compactify adddress histories and update the status index if we're already caught up, + # a bulk update will happen once catchup finishes if not self.db.catching_up and self.env.index_address_status: self._get_compactify_ops(height) + self.db.last_indexed_address_status_height = height self.tx_count = tx_count self.db.tx_counts.append(self.tx_count)