节点数量较多时,遇到了一些异常现象

  1. 尝试在一台Ubuntu18.04里运行11个节点,无法正常出块。查看CPU和内存占用都并不高。network日志里有重复尝试拨号的提示。

  2. 将11个节点分布到三台Mac的docker中和一台Ubuntu18.04虚拟机中,遇到个别块共识需要多轮导致出块时间长的问题,分析该问题时还发现有区块timestamp小于父区块的问题,经确认,各系统及docker环境内时间差别不超过1s。


cita版本:
2019-09-05 - 11:45:07 | cita_network - 132 | INFO - Version: v0.25.0-20-g512e997-dev

我看到连接的IP地址是127.0.0.1, 这样不同的机器之间是没法连上的,实际是通过我们的转发共识消息以后,才达成的共识,这可能是多轮共识的原因

我们没有严格的检查时间戳,一般也不会出现时间戳错乱的情况。
但是经过了多层转发以后,我考虑了一下,可能会出现时间戳的问题。

使用 127.0.0.1是在一台机器的情况下进行的,节点之间不能完全连通,无法出块。
在分配到三台机器上和一个虚拟机中的情况下各个节点之间是正常连通的,仍会有多轮共识。

通过127.0.0.1 连接的吗?
我不大理解,你们三台机器的network的配置文件是什么样的?

三台机器的时候是这样的
# Current node ip is 192.168.1.123
port = 4000
[[peers]]
ip = “192.168.1.189”
port = 4001

[[peers]]
ip = “192.168.1.189”
port = 4002

[[peers]]
ip = “192.168.1.189”
port = 4003

[[peers]]
ip = “192.168.1.188”
port = 4004

[[peers]]
ip = “192.168.1.188”
port = 4005

[[peers]]
ip = “192.168.1.188”
port = 4006

[[peers]]
ip = “192.168.1.188”
port = 4007

[[peers]]
ip = “192.168.1.193”
port = 4008

[[peers]]
ip = “192.168.1.193”
port = 4009

[[peers]]
ip = “192.168.1.193”
port = 4010

两种情况创建方式:

./bin/cita bebop create --super_admin “0xf499ed0e7a5c28bcf610ff4c866c8e5ea421f63c” --nodes “127.0.0.1:4000,127.0.0.1:4001,127.0.0.1:4002,127.0.0.1:4003,127.0.0.1:4004,127.0.0.1:4005,127.0.0.1:4006,127.0.0.1:4007,127.0.0.1:4008,127.0.0.1:4009” --contract_arguments SysConfig.economicalModel=1 SysConfig.autoExec=true

./bin/cita bebop create --super_admin “0xf499ed0e7a5c28bcf610ff4c866c8e5ea421f63c” --nodes “192.168.1.123:4000,192.168.1.189:4001,192.168.1.189:4002,192.168.1.189:4003,192.168.1.188:4004,192.168.1.188:4005,192.168.1.188:4006,192.168.1.188:4007,192.168.1.193:4008,192.168.1.193:4009,192.168.1.193:4010” --contract_arguments SysConfig.economicalModel=1 SysConfig.autoExec=true

ok,第二种情况,也就是等于是全连接的方式,多轮出块的情况多吗? 能给一个节点的bft和network的日志吗? 我们分析一下

之前跑的数据没有了,这会儿没有这么多台机器跑。可以尝试复现一下。

好的