Browse Source

Merge branch 'master' into devel

patch-2
Neil Booth 7 years ago
parent
commit
7f28677549
  1. 12
      docs/changelog.rst
  2. 2
      docs/conf.py
  3. 2
      electrumx/__init__.py
  4. 4
      electrumx/server/block_processor.py
  5. 4
      electrumx/server/controller.py
  6. 4
      setup.py

12
docs/changelog.rst

@ -8,8 +8,15 @@
should not occur with Python 3.7. should not occur with Python 3.7.
Version 1.8.1 (in development) Version 1.8.2 (09 Aug 2018)
============================== ===========================
* require aiorpcX 0.7.1 which along with an ElectrumX change restores clean
shutdown and flush functionality, particularly during initial sync
* fix `#564`_
Version 1.8.1 (08 Aug 2018)
===========================
* require aiorpcX 0.7.0 which fixes a bug causing silent shutdown of ElectrumX * require aiorpcX 0.7.0 which fixes a bug causing silent shutdown of ElectrumX
* fix `#557`_, `#559`_ * fix `#557`_, `#559`_
@ -206,3 +213,4 @@ bitcoincash:qzxpdlt8ehu9ehftw6rqsy2jgfq4nsltxvhrdmdfpn
.. _#538: https://github.com/kyuupichan/electrumx/issues/538 .. _#538: https://github.com/kyuupichan/electrumx/issues/538
.. _#557: https://github.com/kyuupichan/electrumx/issues/557 .. _#557: https://github.com/kyuupichan/electrumx/issues/557
.. _#559: https://github.com/kyuupichan/electrumx/issues/559 .. _#559: https://github.com/kyuupichan/electrumx/issues/559
.. _#564: https://github.com/kyuupichan/electrumx/issues/564

2
docs/conf.py

@ -15,7 +15,7 @@
import os import os
import sys import sys
sys.path.insert(0, os.path.abspath('..')) sys.path.insert(0, os.path.abspath('..'))
VERSION="ElectrumX 1.8.1" VERSION="ElectrumX 1.8.2"
# -- Project information ----------------------------------------------------- # -- Project information -----------------------------------------------------

2
electrumx/__init__.py

@ -1,4 +1,4 @@
version = 'ElectrumX 1.8.2-dev' version = 'ElectrumX 1.8.3-dev'
version_short = version.split()[-1] version_short = version.split()[-1]
from electrumx.server.controller import Controller from electrumx.server.controller import Controller

4
electrumx/server/block_processor.py

@ -184,8 +184,10 @@ class BlockProcessor(electrumx.server.db.DB):
# completes the data will be flushed and then we shut down. # completes the data will be flushed and then we shut down.
# Take the state lock to be certain in-memory state is # Take the state lock to be certain in-memory state is
# consistent and not being updated elsewhere. # consistent and not being updated elsewhere.
async def run_in_thread_locked():
async with self.state_lock: async with self.state_lock:
return await asyncio.shield(run_in_thread(func, *args)) return await run_in_thread(func, *args)
return await asyncio.shield(run_in_thread_locked())
async def _maybe_flush(self): async def _maybe_flush(self):
# If caught up, flush everything as client queries are # If caught up, flush everything as client queries are

4
electrumx/server/controller.py

@ -80,8 +80,8 @@ class Controller(ServerBase):
'''Start the RPC server and wait for the mempool to synchronize. Then '''Start the RPC server and wait for the mempool to synchronize. Then
start serving external clients. start serving external clients.
''' '''
if not (0, 7) <= aiorpcx_version < (0, 8): if not (0, 7, 1) <= aiorpcx_version < (0, 8):
raise RuntimeError('aiorpcX version 0.7.x required') raise RuntimeError('aiorpcX version 0.7.x required with x >= 1')
env = self.env env = self.env
min_str, max_str = env.coin.SESSIONCLS.protocol_min_max_strings() min_str, max_str = env.coin.SESSIONCLS.protocol_min_max_strings()

4
setup.py

@ -1,5 +1,5 @@
import setuptools import setuptools
version = '1.8.1' version = '1.8.2'
setuptools.setup( setuptools.setup(
name='electrumX', name='electrumX',
@ -12,7 +12,7 @@ setuptools.setup(
# "blake256" package is required to sync Decred network. # "blake256" package is required to sync Decred network.
# "xevan_hash" package is required to sync Xuez network. # "xevan_hash" package is required to sync Xuez network.
# "groestlcoin_hash" package is required to sync Groestlcoin network. # "groestlcoin_hash" package is required to sync Groestlcoin network.
install_requires=['aiorpcX>=0.7,<0.8', 'attrs', install_requires=['aiorpcX>=0.7.1,<0.8', 'attrs',
'plyvel', 'pylru', 'aiohttp >= 2'], 'plyvel', 'pylru', 'aiohttp >= 2'],
packages=setuptools.find_packages(include=('electrumx*',)), packages=setuptools.find_packages(include=('electrumx*',)),
description='ElectrumX Server', description='ElectrumX Server',

Loading…
Cancel
Save