logging, update lbry-rocksdb requirement

This commit is contained in:
Jack Robison 2022-01-19 10:10:24 -05:00
parent b1441d4247
commit 3c03fff380
No known key found for this signature in database
GPG key ID: DF25C68FE0239BB2
5 changed files with 10 additions and 22 deletions

View file

@ -10,7 +10,8 @@ from lbry.wallet.wallet import Wallet, WalletStorage, TimestampedPreferences, EN
from lbry.wallet.manager import WalletManager from lbry.wallet.manager import WalletManager
from lbry.wallet.network import Network from lbry.wallet.network import Network
from lbry.wallet.ledger import Ledger, RegTestLedger, TestNetLedger, BlockHeightEvent from lbry.wallet.ledger import Ledger, RegTestLedger, TestNetLedger, BlockHeightEvent
from lbry.wallet.account import Account, AddressManager, SingleKey, HierarchicalDeterministic from lbry.wallet.account import Account, AddressManager, SingleKey, HierarchicalDeterministic, \
DeterministicChannelKeyManager
from lbry.wallet.transaction import Transaction, Output, Input from lbry.wallet.transaction import Transaction, Output, Input
from lbry.wallet.script import OutputScript, InputScript from lbry.wallet.script import OutputScript, InputScript
from lbry.wallet.database import SQLiteMixin, Database from lbry.wallet.database import SQLiteMixin, Database

View file

@ -41,14 +41,14 @@ class BlockchainReader:
return return
# if state and self.last_state and self.db.headers and self.last_state.tip == self.db.coin.header_hash(self.db.headers[-1]): # if state and self.last_state and self.db.headers and self.last_state.tip == self.db.coin.header_hash(self.db.headers[-1]):
# return # return
if self.last_state and self.last_state.height > state.height: # FIXME: derp if self.last_state and self.last_state.height > state.height:
self.log.debug("reorg detected, waiting until the writer has flushed the new blocks to advance") self.log.warning("reorg detected, waiting until the writer has flushed the new blocks to advance")
return return
last_height = 0 if not self.last_state else self.last_state.height last_height = 0 if not self.last_state else self.last_state.height
if self.last_state: if self.last_state:
while True: while True:
if self.db.headers[-1] == self.db.prefix_db.header.get(last_height, deserialize_value=False): if self.db.headers[-1] == self.db.prefix_db.header.get(last_height, deserialize_value=False):
self.log.debug("connects to block %i", last_height) self.log.info("connects to block %i", last_height)
break break
else: else:
self.log.warning("disconnect block %i", last_height) self.log.warning("disconnect block %i", last_height)
@ -62,22 +62,10 @@ class BlockchainReader:
self.clear_caches() self.clear_caches()
self.last_state = state self.last_state = state
# elif self.last_state and self.last_state.height > state.height:
# last_height = self.last_state.height
# for height in range(last_height, state.height, -1):
# self.log.warning("unwind %i", height)
# self.unwind()
# self.clear_caches()
# self.last_state = state
# self.log.warning("unwound to %i", self.last_state.height)
# print("reader rewound to ", self.last_state.height)
async def poll_for_changes(self): async def poll_for_changes(self):
await asyncio.get_event_loop().run_in_executor(self._executor, self._detect_changes) await asyncio.get_event_loop().run_in_executor(self._executor, self._detect_changes)
async def refresh_blocks_forever(self, synchronized: asyncio.Event): async def refresh_blocks_forever(self, synchronized: asyncio.Event):
self.log.info("start refresh blocks forever")
while True: while True:
try: try:
async with self._lock: async with self._lock:
@ -85,7 +73,7 @@ class BlockchainReader:
except asyncio.CancelledError: except asyncio.CancelledError:
raise raise
except: except:
self.log.exception("boom") self.log.exception("blockchain reader main loop encountered an unexpected error")
raise raise
await asyncio.sleep(self._refresh_interval) await asyncio.sleep(self._refresh_interval)
synchronized.set() synchronized.set()
@ -161,7 +149,6 @@ class BlockchainReaderServer(BlockchainReader):
self.log.info("reader advanced to %i", height) self.log.info("reader advanced to %i", height)
if self._es_height == self.db.db_height: if self._es_height == self.db.db_height:
self.synchronized.set() self.synchronized.set()
# print("reader notified")
await self.mempool.refresh_hashes(self.db.db_height) await self.mempool.refresh_hashes(self.db.db_height)
self.notifications_to_send.clear() self.notifications_to_send.clear()

View file

@ -804,7 +804,7 @@ class HubDB:
return int(160.6855883050695 * height) return int(160.6855883050695 * height)
def open_db(self): def open_db(self):
if self.prefix_db and not self.prefix_db.closed: if self.prefix_db:
return return
secondary_path = '' if not self._secondary_name else os.path.join( secondary_path = '' if not self._secondary_name else os.path.join(
self._db_dir, self._secondary_name self._db_dir, self._secondary_name
@ -857,6 +857,7 @@ class HubDB:
def close(self): def close(self):
self.prefix_db.close() self.prefix_db.close()
self.prefix_db = None
def get_tx_hash(self, tx_num: int) -> bytes: def get_tx_hash(self, tx_num: int) -> bytes:
if self._cache_all_tx_hashes: if self._cache_all_tx_hashes:

View file

@ -125,8 +125,7 @@ class PrefixDB:
) )
def close(self): def close(self):
if not self._db.is_closed: self._db.close()
self._db.close()
def try_catch_up_with_primary(self): def try_catch_up_with_primary(self):
self._db.try_catch_up_with_primary() self._db.try_catch_up_with_primary()

View file

@ -10,7 +10,7 @@ with open(os.path.join(BASE, 'README.md'), encoding='utf-8') as fh:
ROCKSDB = [] ROCKSDB = []
if sys.platform.startswith('linux') or sys.platform.startswith('darwin'): if sys.platform.startswith('linux') or sys.platform.startswith('darwin'):
ROCKSDB.append('lbry-rocksdb==0.8.1') ROCKSDB.append('lbry-rocksdb==0.8.2')
setup( setup(