Merge branch 'release-0.2.2' into develop

This commit is contained in:
Neil Booth 2016-11-10 07:44:28 +09:00
commit 304501d792
5 changed files with 17 additions and 12 deletions

View File

@ -1,3 +1,10 @@
Version 0.2.2.1
---------------
- fixes issues #12, #13
- only attempt to flush on asyncio.CancelledError to avoid spurious
secondary errors
Version 0.2.2
-------------

View File

@ -382,8 +382,9 @@ class BlockProcessor(server.db.DB):
while True:
await self._wait_for_update()
await asyncio.sleep(0) # Yield
finally:
except asyncio.CancelledError:
self.flush(True)
raise
async def _wait_for_update(self):
'''Wait for the prefetcher to deliver blocks or a mempool update.
@ -535,6 +536,9 @@ class BlockProcessor(server.db.DB):
self.height - self.db_height))
self.utxo_cache.flush(batch)
self.utxo_flush_count = self.flush_count
self.db_tx_count = self.tx_count
self.db_height = self.height
self.db_tip = self.tip
def assert_flushed(self):
'''Asserts state is fully flushed.'''
@ -572,13 +576,6 @@ class BlockProcessor(server.db.DB):
self.flush_state(batch)
self.logger.info('committing transaction...')
# Update our in-memory state after successful flush
self.db_tx_count = self.tx_count
self.db_height = self.height
self.db_tip = self.tip
self.tx_hashes = []
self.headers = []
# Update and put the wall time again - otherwise we drop the
# time it took to commit the batch
self.flush_state(self.db)
@ -670,6 +667,8 @@ class BlockProcessor(server.db.DB):
os.sync()
self.tx_hashes = []
self.headers = []
self.logger.info('FS flush took {:.1f} seconds'
.format(time.time() - flush_start))

View File

@ -119,7 +119,6 @@ class DB(LoggedClass):
if tx_height > self.db_height:
return None, tx_height
raise self.DBError('tx_num {:,d} is not on disk')
file_pos = tx_num * 32
file_num, offset = divmod(file_pos, self.tx_hash_file_size)

View File

@ -331,8 +331,8 @@ class ElectrumX(JSONRPC):
@classmethod
def watched_address_count(cls):
sessions = self.SESSION_MGR.sessions
return sum(len(session.hash168s) for session in session
sessions = cls.SESSION_MGR.sessions
return sum(len(session.hash168s) for session in sessions
if isinstance(session, cls))
@classmethod

View File

@ -1 +1 @@
VERSION = "ElectrumX 0.2.2"
VERSION = "ElectrumX 0.2.2.1"