kyuupichan / electrumx

Alternative implementation of spesmilo/electrum-server
Other
723 stars 733 forks source link

peer discovery not really working #534

Closed SomberNight closed 6 years ago

SomberNight commented 6 years ago

e-x ~1.7 finds significantly fewer peers than ~1.6

BTC mainnet.

On commit 023e463748eeb0ccde87b0315cea7818a479a5a5

$ sudo docker exec -it electrumx-cont electrumx_rpc getinfo
{
    "closing": 0,
    "daemon": "172.19.1.10:8332/",
    "daemon_height": 533795,
    "db_height": 533795,
    "errors": 0,
    "groups": 1,
    "logged": 0,
    "paused": 0,
    "peers": {
        "bad": 6,
        "good": 85,
        "never": 13,
        "stale": 0,
        "total": 104
    },
    "pid": 1,
    "requests": 1,
    "sessions": 28,
    "subs": 2378,
    "txs_sent": 1,
    "uptime": "01m 00s",
    "version": "ElectrumX 1.6"
}
$ sudo docker exec -it electrumx-cont electrumx_rpc peers
Host                           Status   TCP   SSL Server             Min  Max  Pruning   Last Good    Last Try Tries               Source IP Address
iy5jbpzok4spzetr.onion         good   50001 50002 ElectrumX 1.5      1.1  1.3                  30s         55s     0                 peer
rybabtcmltnlykbd.onion         good   50001 50002 ElectrumX 1.7      1.1  1.4                  36s         55s     0                 peer
qtornadoklbgdyww.onion         good   50001 50002 ElectrumX 1.6      1.1  1.4                  43s         56s     0                 peer
liyqfqfsiewcsumb.onion         good   50001 50003 ElectrumX 1.4.3    1.0  1.2                  43s         55s     0                 peer
wsw6tua3xl24gsmi264zaep6seppjy good   50001 50002 ElectrumX 1.7      1.1  1.4                  44s         55s     0                 peer
bitcoin3nqy3db7c.onion         good   50001 50002 ElectrumX 1.5.2    1.1  1.3                  44s         56s     0                 peer
bauerjhejlv6di7s.onion         good   50001 50002 ElectrumX 1.4.3    1.0  1.2                  45s         55s     0                 peer
hsmiths4fyqlw5xw.onion         good   50001 50002 ElectrumX 1.7      1.1  1.4                  46s         56s     0                 peer
bauerjda5hnedjam.onion         good   50001 50002 ElectrumX 1.5.1    1.1  1.3                  46s         48s     0                 peer
s7clinmo4cazmhul.onion         good   50001       ElectrumX 1.7      1.1  1.4                  47s         55s     0                 peer
hsmiths5mjk6uijs.onion         good   50001 50002 ElectrumX 1.7      1.1  1.4                  47s         55s     0                 peer
y4td57fxytoo5ki7.onion         good   50001 50002 ElectrumX 1.2      0.9  1.1                  49s         55s     0                 peer
3smoooajg7qqac2y.onion         good   50001 50002 ElectrumX 1.6      1.1  1.4                  49s         56s     0                 peer
4yi77lkjgy4bwtj3.onion         good   50001 50002 ElectrumX 1.2.1    0.9  1.1                  49s         56s     0                 peer
4cii7ryno5j3axe4.onion         good   50001       ElectrumX 1.3.1    0.9  1.2                  50s         55s     0                 peer
n3o2hpi5xnf3o356.onion         good   50001 50002 ElectrumX 1.3      0.9  1.2                  51s         55s     0                 peer
ndndword5lpb7eex.onion         good   50001       ElectrumX 1.5.2    1.1  1.3                  52s         55s     0                 peer
electrumxhqdsmlu.onion         good   50001       ElectrumX 1.4.4p2  1.1  1.2                  52s         55s     0                 peer
electrum-server.ninja          good   50001 50002 ElectrumX 1.7      1.1  1.4                  52s         55s     0                 peer 220.233.178.199
electrumx.nmdps.net            good   50001 50002 ElectrumX 1.2.1    0.9  1.2                  53s         55s     0                 peer 109.61.102.5
luggscoqbymhvnkp.onion         good      80       ElectrumX 1.6d     1.1  1.4                  53s         56s     0                 peer
yuio.top                       good   50001 50003 ElectrumX 1.4.3    1.0  1.2                  53s         55s     0                 peer 118.86.185.36
electrum.nute.net              good         50002 ElectrumX 1.3      0.9  1.2                  53s         55s     0                 peer 37.187.141.73
139.162.14.142                 good   50001 50002 ElectrumX 1.2.1    0.9  1.1                  53s         55s     0                 peer 139.162.14.142
mooo.not.fyi                   good   50011 50012 ElectrumX 1.1.1    0.9  1.1                  54s         55s     0                 peer 71.239.122.162
electrum.leblancnet.us         good   50001 50002 ElectrumX 1.4.4p2  1.1  1.2                  54s         55s     0                 peer 69.27.173.238
node.erratic.space             good   50001 50002 ElectrumX 1.2.1    0.9  1.2                  54s         55s     0                 peer 69.10.143.103
orannis.com                    good   50001 50002 ElectrumX 1.6      1.1  1.4                  54s         55s     0                 peer 50.35.67.146
technetium.network             good         50002 ElectrumX 1.4.3    1.0  1.2                  54s         55s     0                 peer 96.27.8.242
165.227.22.180                 good   50001 50002 ElectrumX 1.2      0.9  1.1                  54s         55s     0                 peer 165.227.22.180
ip101.ip-54-37-91.eu           good   50001 50002 ElectrumX 1.2.1    0.9  1.1                  54s         55s     0                 peer 54.37.91.101
electrumx.ddns.net             good   50001 50002 ElectrumX 1.4.3    1.0  1.2                  54s         55s     0                 peer 169.0.137.127
electrum.coinucopia.io         good   50001 50002 ElectrumX 1.4.3    1.0  1.2                  54s         55s     0                 peer 67.205.187.44
electrumx.hopto.org            good   50001 50002 ElectrumX 1.3.1    0.9  1.2                  54s         55s     0                 peer 89.205.81.5
electrum.coineuskal.com        good   50001 50002 ElectrumX 1.3      0.9  1.2                  55s         55s     0                 peer 34.207.56.59
enode.duckdns.org              good   50001 50002 ElectrumX 1.4.4p2  1.1  1.2                  55s         56s     0                 peer 75.159.6.167
erbium1.sytes.net              good   50001 50002 ElectrumX 1.6      1.1  1.4                  55s         55s     0                 peer 46.246.35.194
ex.8333.io                     good   50001 50002 ElectrumX 1.4.4p2  1.1  1.2                  55s         55s     0                 peer 194.135.83.175
electrumx.soon.it              good   50001 50002 ElectrumX 1.2.1    0.9  1.2                  55s         55s     0                 peer 79.11.31.76
electrumx.bot.nu               good   50001 50002 ElectrumX 1.4.4p2  1.1  1.2                  55s         55s     0                 peer 173.91.90.62
ryba-btc.noip.pl               good   50001 50002 ElectrumX 1.7      1.1  1.4                  55s         56s     0                 peer 109.199.70.182
e.keff.org                     good   50001 50002 ElectrumX 1.4.4p2  1.1  1.2                  55s         55s     0                 peer 194.71.109.91
elx01.knas.systems             good   50001 50002 ElectrumX 1.4.3    1.0  1.2                  55s         55s     0                 peer 31.208.128.61
qmebr.spdns.org                good   50001 50002 ElectrumX 1.4.3    1.0  1.2                  55s         55s     0                 peer 87.123.11.103
walle.dedyn.io                 good         50002 ElectrumX 1.4.4p2  1.1  1.2                  55s         55s     0                 peer 83.36.104.21
electrum.hsmiths.com           good   50001 50002 ElectrumX 1.7      1.1  1.4                  55s         56s     0                 peer 76.174.26.91
alviss.coinjoined.com          good   50001 50002 ElectrumX 1.2      0.9  1.1                  55s         55s     0                 peer 94.130.136.185
electrum2.everynothing.net     good   50001 50002 ElectrumX 1.4.3    1.0  1.2                  55s         56s     0                 peer 162.212.155.122
E-X.not.fyi                    good   50001 50002 ElectrumX 1.7      1.1  1.4                  55s         56s     0                 peer 170.130.28.174
bitcoin.grey.pw                good   50001 50002 ElectrumX 1.5.2    1.1  1.3                  55s         55s     0                 peer 173.249.8.197
electrum.dk                    good   50001 50002 ElectrumX 1.2      0.9  1.1                  55s         55s     0                 peer 92.246.24.225
electrum.petrkr.net            good   50001 50002 ElectrumX 1.4.3    1.0  1.2                  55s         55s     0                 peer 213.168.187.27
shogoth.no-ip.info             good   50001 50002 ElectrumX 1.4.4p2  1.1  1.2                  55s         55s     0                 peer 155.4.117.22
electrumx.westeurope.cloudapp. good   50001 50002 ElectrumX 1.2.1    0.9  1.2                  55s         55s     0                 peer 104.40.216.160
ip239.ip-54-36-234.eu          good   50001 50002 ElectrumX 1.2.1    0.9  1.1                  55s         55s     0                 peer 54.36.234.239
electrum.taborsky.cz           good         50002 ElectrumX 1.4.3    1.0  1.2                  55s         55s     0                 peer 37.205.8.78
hetzner01.fischl-online.de     good         50002 ElectrumX 1.4.3    1.0  1.2                  55s         55s     0                 peer 5.9.124.124
ip120.ip-54-37-91.eu           good   50001 50002 ElectrumX 1.2.1    0.9  1.1                  55s         55s     0                 peer 54.37.91.120
VPS.hsmiths.com                good   50001 50002 ElectrumX 1.7      1.1  1.4                  55s         55s     0                 peer 51.15.77.78
www.tomscryptos.com            good   50001 50002 ElectrumX 1.6      1.1  1.4                  55s         55s     0                 peer 95.216.28.117
electrum.chainhost.io          good         50002 ElectrumX 1.3.1    0.9  1.2                  55s         55s     0                 peer 195.154.173.26
spv.48.org                     good   50003 50002 ElectrumX 1.4.4p2  1.1  1.2                  55s         55s     0                 peer 81.171.27.138
electrum.anduck.net            good   50001 50002 ElectrumX 1.4.4p2  1.1  1.2                  55s         55s     0                 peer 62.210.6.26
electrum.eff.ro                good   50001 50002 ElectrumX 1.7      1.1  1.4                  55s         55s     0                 peer 185.36.252.200
ip119.ip-54-37-91.eu           good   50001 50002 ElectrumX 1.2.1    0.9  1.1                  55s         55s     0                 peer 54.37.91.119
electrum.villocq.com           good   50001 50002 ElectrumX 1.4.3    1.0  1.2                  55s         55s     0                 peer 88.202.202.221
electrum2.villocq.com          good   50001 50002 ElectrumX 1.4.3    1.0  1.2                  55s         55s     0                 peer 78.111.194.189
tardis.bauerj.eu               good   50001 50002 ElectrumX 1.5.1    1.1  1.3                  55s         55s     0                 peer 51.15.138.64
bitcoin.corgi.party            good   50001 50002 ElectrumX 1.7      1.1  1.4                  55s         55s     0                 peer 176.223.139.65
btc.cihar.com                  good   50001 50002 ElectrumX 1.6pre2  1.1  1.4                  55s         55s     0                 peer 78.46.177.74
such.ninja                     good   50001 50002 ElectrumX 1.2      0.9  1.1                  55s         55s     0                 peer 163.172.61.154
electrum.festivaldelhumor.org  good   50001 50002 ElectrumX 1.6      1.1  1.4                  55s         55s     0                 peer 173.212.247.250
electrum-unlimited.criptolayer good         50002 ElectrumX 1.6d     1.1  1.4                  55s         55s     0                 peer 188.40.93.205
Bitcoin-node.nl                good   50001 50002 ElectrumX 1.2      0.9  1.1                  55s         56s     0                 peer 82.217.214.215
kirsche.emzy.de                good   50001 50002 ElectrumX 1.6pre2  1.1  1.4                  55s         55s     0                 peer 78.47.61.83
electrum.be                    good   50001 50002 ElectrumX 1.4.3    1.0  1.2                  55s         55s     0                 peer 88.198.241.196
rbx.curalle.ovh                good         50002 ElectrumX 1.4.4p2  1.1  1.2                  55s         56s     0                 peer 176.31.252.219
daedalus.bauerj.eu             good   50001 50002 ElectrumX 1.5.1    1.1  1.3                  55s         56s     0                 peer 84.200.105.74
ndnd.selfhost.eu               good   50001 50002 ElectrumX 1.5.2    1.1  1.3                  55s         56s     0                 peer 217.233.81.39
v25437.1blu.de                 good         50002 ElectrumX 1.2.1    0.9  1.2                  56s         56s     0                 peer 178.254.34.161
helicarrier.bauerj.eu          good   50001 50002 ElectrumX 1.4.3    1.0  1.2                  56s         56s     0                 peer 178.32.88.133
electrum3.hachre.de            good   50001 50002 ElectrumX 1.4.3    1.0  1.2                  56s         56s     0                 peer 79.219.49.217
electrum.vom-stausee.de        good   50001 50002 ElectrumX 1.3.1    0.9  1.2                  56s         56s     0                 peer 37.59.46.112
elec.luggs.co                  good           443 ElectrumX 1.6d     1.1  1.4                  56s         56s     0                 peer 95.211.185.14
electrum.qtornado.com          good   50001 50002 ElectrumX 1.6      1.1  1.4                  56s         56s     0                 peer 88.99.162.199
bitnode.pw                     never        57081 unknown            1.4  1.4                Never         55s     1          E-X.not.fyi
electrum.infinitum-nihil.com   never        50002 unknown            1.0  1.0                Never         55s     1 hetzner01.fischl-onl 192.30.120.110
dxm.no-ip.biz                  never  50001 50002 unknown            1.3  1.3                Never         55s     1  www.tomscryptos.com
134.119.179.55                 never        50002 unknown            1.0  1.0                Never         55s     1 ip239.ip-54-36-234.e 134.119.179.55
node.arihanc.com               never  50001 50002 unknown            0.0  0.0                Never         56s     1             coins.py
arihancckjge66iv.onion         never  50001 50002 unknown            0.0  0.0                Never         26s     1             coins.py
bitcoins.sk                    never  50001 50002 unknown            1.2  1.2                Never         55s     1       v25437.1blu.de
13.80.67.162                   never  50001 50002 unknown            1.2  1.2                Never         55s     1 hetzner01.fischl-onl
207.154.223.80                 never  50001 50002 unknown            1.2  1.2                Never         55s     1   daedalus.bauerj.eu
electrum.mindspot.org          never  50001 50002 unknown            1.2  1.2                Never         55s     1  electrum.petrkr.net
j5jfrdthqt5g25xz.onion         never  50001 50002 unknown            1.4  1.4                Never         25s     1         btc.smsys.me
185.64.116.15                  never  50001 50002 unknown            1.2  1.2                Never         55s     1      VPS.hsmiths.com
currentlane.lovebitco.in       never  50001 50002 unknown            1.2  1.2                Never         54s     1         mooo.not.fyi
btc.smsys.me                   bad            995 ElectrumX 1.6      1.1  1.4                  55s         56s     0                 peer 50.198.167.205
btc.xskyx.net                  bad    50001 50002 ElectrumX 1.4.4p2  1.2  1.2                Never         55s     1 ip120.ip-54-37-91.eu 185.183.158.170
ozahtqwp25chjdjd.onion         bad    50001 50002 ElectrumX 1.6      0.0  0.0                Never         56s     1             coins.py
ruuxwv74pjxms3ws.onion         bad    50001 10042 ElectrumX 1.4.3    1.2  1.2                Never         55s     1   elx01.knas.systems
electrum.achow101.com          bad    50001 50002 ElectrumX 1.6b     1.1  1.4                Never         55s     1         btc.smsys.me 96.227.129.21
electrum.poorcoding.com        bad    50001 50002 ElectrumX 1.4.3    1.0  1.2                Never         55s     1          electrum.dk 212.56.108.81

On commit 3cdf4536636f01d9d63a99ff96c1bfdef3d9216a

$ sudo docker exec -it electrumx-cont electrumx_rpc getinfo
{
    "closing": 0,
    "daemon": "172.19.1.10:8332/",
    "daemon_height": 533795,
    "db_height": 533795,
    "errors": 0,
    "groups": 1,
    "logged": 0,
    "paused": 0,
    "peers": {
        "bad": 1,
        "good": 7,
        "never": 15,
        "stale": 0,
        "total": 23
    },
    "pid": 1,
    "requests": 1,
    "sessions": 31,
    "subs": 2250,
    "txs_sent": 0,
    "uptime": "01m 00s",
    "version": "ElectrumX 1.7"
}
$ sudo docker exec -it electrumx-cont electrumx_rpc peers
Host                           Status   TCP   SSL Server             Min  Max  Pruning   Last Good    Last Try Tries               Source IP Address
electrum.hsmiths.com           good   50001 50002 ElectrumX 1.7      1.1  1.4              01m 00s     01m 01s     0                 peer 76.174.26.91
E-X.not.fyi                    good   50001 50002 ElectrumX 1.7      1.1  1.4              01m 00s     01m 01s     0                 peer 170.130.28.174
helicarrier.bauerj.eu          good   50001 50002 ElectrumX 1.4.3    1.0  1.2              01m 01s     01m 01s     0                 peer 178.32.88.133
electrum3.hachre.de            good   50001 50002 ElectrumX 1.4.3    1.0  1.2              01m 01s     01m 01s     0                 peer 79.219.49.217
electrum.vom-stausee.de        good   50001 50002 ElectrumX 1.3.1    0.9  1.2              01m 01s     01m 01s     0                 peer 37.59.46.112
elec.luggs.co                  good           443 ElectrumX 1.6d     1.1  1.4              01m 01s     01m 01s     0                 peer 95.211.185.14
electrum.qtornado.com          good   50001 50002 ElectrumX 1.7      1.1  1.4              01m 01s     01m 01s     0                 peer 88.99.162.199
shogoth.no-ip.info             never  50001 50002 unknown            1.2  1.2                Never       Never     0 electrum.vom-stausee
ozahtqwp25chjdjd.onion         never  50001 50002 unknown            1.4  1.4                Never       Never     0         btc.smsys.me
4cii7ryno5j3axe4.onion         never  50001       unknown            1.2  1.2                Never       Never     0 helicarrier.bauerj.e
www.tomscryptos.com            never  50001 50002 unknown            1.4  1.4                Never       Never     0  electrum3.hachre.de
electrum.coineuskal.com        never  50001 50002 unknown            1.2  1.2                Never       Never     0          E-X.not.fyi
node.arihanc.com               never  50001 50002 unknown            0.0  0.0                Never     01m 01s     1             coins.py
electrum.anduck.net            never  50001 50002 unknown            1.2  1.2                Never       Never     0 helicarrier.bauerj.e
n3o2hpi5xnf3o356.onion         never  50001 50002 unknown            1.2  1.2                Never       Never     0        elec.luggs.co
alviss.coinjoined.com          never  50001 50002 unknown            1.1  1.1                Never       Never     0          E-X.not.fyi
ndnd.selfhost.eu               never  50001 50002 unknown            1.3  1.3                Never       Never     0  electrum3.hachre.de
electrum.be                    never  50001 50002 unknown            1.2  1.2                Never       Never     0 electrum.hsmiths.com
bauerjda5hnedjam.onion         never  50001 50002 unknown            1.3  1.3                Never       Never     0 electrum.vom-stausee
spv.48.org                     never  50003 50002 unknown            1.2  1.2                Never       Never     0 electrum.hsmiths.com
ip119.ip-54-37-91.eu           never  50001 50002 unknown            1.1  1.1                Never       Never     0        elec.luggs.co
electrum.achow101.com          never  50001 50002 unknown            1.4  1.4                Never       Never     0         btc.smsys.me
btc.smsys.me                   bad            995 ElectrumX 1.6      1.1  1.4                Never     01m 01s     1             coins.py 50.198.167.205
shsmith commented 6 years ago

Same here. Peer discovery seems to stop at some point, leaving many peers in the "unknown" state and "never" for last attempt.

kyuupichan commented 6 years ago

It's normal for my BCH node I'm running. It seems it's never even attempted the peers above? I'll take a look for a clue; as you know I rewrote the peer disovery loop to remove the callback tangle but I might have lost something along the way. If there are any clues in the logs about the "never" peers let me know (like failed network connection attempts, etc)

shsmith commented 6 years ago

Is this related?

INFO:ElectrumX:[709] SSL 146.185.34.240:48998, 118 total
INFO:ElectrumX:[710] SSL 37.168.74.225:25788, 117 total
ERROR:Tasks:uncaught task exception: connection not allowed by ruleset
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/electrumX-1.7-py3.6.egg/electrumx/lib/tasks.py", line 60, in _check_task_exception
    task.result()
  File "/usr/local/lib/python3.6/dist-packages/electrumX-1.7-py3.6.egg/electrumx/server/peers.py", line 229, in _retry_peer
    async with PeerSession(peer.host, port, **kwargs) as session:
  File "/usr/local/lib/python3.6/dist-packages/aiorpcx/session.py", line 328, in __aenter__
    await self.create_connection()
  File "/usr/local/lib/python3.6/dist-packages/aiorpcx/session.py", line 322, in create_connection
    self_func, self.host, self.port, loop=self.loop, **self.kwargs)
  File "/usr/local/lib/python3.6/dist-packages/aiorpcx/socks.py", line 379, in create_connection
    sock, address = await self._connect(addresses, loop, timeout)
  File "/usr/local/lib/python3.6/dist-packages/aiorpcx/socks.py", line 292, in _connect
    OSError(f'multiple exceptions: {", ".join(strings)}'))
  File "/usr/local/lib/python3.6/dist-packages/aiorpcx/socks.py", line 267, in _connect_one
    self.auth, loop))
  File "/usr/local/lib/python3.6/dist-packages/aiorpcx/util.py", line 161, in run
    return await self.task
  File "/usr/local/lib/python3.6/dist-packages/aiorpcx/socks.py", line 222, in handshake
    data[1], f'unknown SOCKS5 error code: {data[1]}'))
aiorpcx.socks.SOCKSFailure: connection not allowed by ruleset
ERROR:Tasks:uncaught task exception: connection not allowed by ruleset
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/electrumX-1.7-py3.6.egg/electrumx/lib/tasks.py", line 60, in _check_task_exception
    task.result()
  File "/usr/local/lib/python3.6/dist-packages/electrumX-1.7-py3.6.egg/electrumx/server/peers.py", line 175, in _discover_peers
    await self._retry_peers()
  File "/usr/local/lib/python3.6/dist-packages/electrumX-1.7-py3.6.egg/electrumx/server/peers.py", line 201, in _retry_peers
    await asyncio.gather(*tasks)
  File "/usr/local/lib/python3.6/dist-packages/electrumX-1.7-py3.6.egg/electrumx/lib/tasks.py", line 60, in _check_task_exception
    task.result()
  File "/usr/local/lib/python3.6/dist-packages/electrumX-1.7-py3.6.egg/electrumx/server/peers.py", line 229, in _retry_peer
    async with PeerSession(peer.host, port, **kwargs) as session:
  File "/usr/local/lib/python3.6/dist-packages/aiorpcx/session.py", line 328, in __aenter__
    await self.create_connection()
  File "/usr/local/lib/python3.6/dist-packages/aiorpcx/session.py", line 322, in create_connection
    self_func, self.host, self.port, loop=self.loop, **self.kwargs)
  File "/usr/local/lib/python3.6/dist-packages/aiorpcx/socks.py", line 379, in create_connection
    sock, address = await self._connect(addresses, loop, timeout)
  File "/usr/local/lib/python3.6/dist-packages/aiorpcx/socks.py", line 292, in _connect
    OSError(f'multiple exceptions: {", ".join(strings)}'))
  File "/usr/local/lib/python3.6/dist-packages/aiorpcx/socks.py", line 267, in _connect_one
    self.auth, loop))
  File "/usr/local/lib/python3.6/dist-packages/aiorpcx/util.py", line 161, in run
    return await self.task
  File "/usr/local/lib/python3.6/dist-packages/aiorpcx/socks.py", line 222, in handshake
    data[1], f'unknown SOCKS5 error code: {data[1]}'))
aiorpcx.socks.SOCKSFailure: connection not allowed by ruleset
INFO:PeerManager:verified s7clinmo4cazmhul.onion via TCP over Tor in 24.4s
INFO:PeerManager:verified hsmiths5mjk6uijs.onion via SSL over Tor in 24.8s
kyuupichan commented 6 years ago

Perhaps. Any uncaught task exception is a bug. Never seen that socks failure before. @SomberNight do you have something similar?

kyuupichan commented 6 years ago

@shsmith thanks, I was missing an exception type. I think that should fix it.

SomberNight commented 6 years ago

It works now, thanks. I've just noticed while testing that it takes around 10-11 minutes to find ~all peers; which previously took <1 minute. It needs 2-3 rounds of _retry_peers (which are 5 mins apart). So actually, maybe it would have worked before, I was just expecting it to be as fast as with the previous version. :)

kyuupichan commented 6 years ago

@SomberNight good. Yes there's a slight bottleneck in that the asyncio.gather waits for all current probes to complete before looping again. I planned to put each peer in its own task but it was lower priority. As well as being the ultimate for concurrency there it's also cleaner. I'm about to push some code to aiorpcX that makes it easier to express too. As you mention it here, I'll try and get those changes done in the next day or so.

kyuupichan commented 6 years ago

@SomberNight can you test 1.7.1 please? It should be fully concurrent now

SomberNight commented 6 years ago

tested with 1.7.1. it's fast again :)

kyuupichan commented 6 years ago

Thanks for the confirmation. Now to fix that one "async" that seems to break Python 3.7...