Closed foreso-GitHub closed 3 years ago
将断网节点重启开启,该节点会不断重启加载区块,一旦到超过600000,就从0开始重新加载区块。
这个问题原因已经找到,是因为加载区块的同时有发送交易造成的。维佳已经修正,待更新。
5节点网络,将其中一个节点(腾讯节点)断网后,区块链网络的区块高度继续增加,查询也都正常。但这时发送交易总是超时失败。 将断网节点的网络恢复正常后,该节点无法自动恢复正常,等待1小时后仍然无法访问(查询超时),对其他节点发送交易也仍然超时失败。
后面多次尝试,“对其他节点发送交易也仍然超时失败”可重现,但需要做到:
- 5节点网络,将其中一个节点(腾讯节点)断网后,区块链网络的区块高度继续增加,查询也都正常。但这时发送交易总是超时失败。
- 将断网节点的网络恢复正常后,该节点无法自动恢复正常,等待1小时后仍然无法访问(查询超时),对其他节点发送交易也仍然超时失败。
在20201023版本里这些问题解决。
但将某个节点断网后,再发送大量交易,会导致其他节点区块不再生成。查看log信息:
E1027 10:34:09.969145 5531 util.go:171] &{temINVALID <nil> failed to submit transaction by jnn$ E1027 10:34:10.968944 5531 public.go:767] failed to submit transaction by jLC6gPhNTaiHjouXrAiX$ E1027 10:34:10.968956 5531 util.go:171] &{temINVALID <nil> failed to submit transaction by jLC$ E1027 10:34:10.969140 5531 public.go:948] failed to submit transaction: 928A7307E7A618F62E1189$ E1027 10:34:10.969149 5531 util.go:171] &{temINVALID <nil> failed to submit transaction: 928A7$ E1027 10:34:10.969352 5531 public.go:948] failed to submit transaction: 688AA7030A4F51695FB9D9$ E1027 10:34:10.969360 5531 util.go:171] &{temINVALID <nil> failed to submit transaction: 688AA$ E1027 10:34:17.500979 5531 network.go:1032] >>> error connecting to network peer 12D3KooWBaR65$ E1027 10:34:27.501276 5531 network.go:1032] >>> error connecting to network peer 12D3KooWBaR65$ E1027 10:34:37.501068 5531 network.go:1032] >>> error connecting to network peer 12D3KooWBaR65$ E1027 10:34:47.501273 5531 network.go:1032] >>> error connecting to network peer 12D3KooWBaR65$ E1027 10:34:57.500983 5531 network.go:1032] >>> error connecting to network peer 12D3KooWBaR65$ E1027 10:35:07.500933 5531 network.go:1032] >>> error connecting to network peer 12D3KooWBaR65$ E1027 10:35:17.500982 5531 network.go:1032] >>> error connecting to network peer 12D3KooWBaR65$ E1027 10:35:27.500963 5531 network.go:1032] >>> error connecting to network peer 12D3KooWBaR65$ E1027 10:35:37.500730 5531 network.go:1032] >>> error connecting to network peer 12D3KooWBaR65$ E1027 10:35:47.500973 5531 network.go:1032] >>> error connecting to network peer 12D3KooWBaR65$ E1027 10:35:57.500992 5531 network.go:1032] >>> error connecting to network peer 12D3KooWBaR65$
Reopen.
但将某个节点断网后,再发送大量交易,会导致其他节点区块不再生成。查看log信息: 在20201027版本中,此问题解决。
但如果连续断网、恢复,断网节点有时无法自行恢复正常,进入共识。一般情况下断网然后恢复,断网节点能够自行恢复正常,进入共识。但如果在断网恢复期间有大量交易发送,则断网节点容易发生无法自行恢复正常的情况,需要重启节点。
版本:20201114-v0.5.2-dev,执行多次单节点断网、恢复操作后,有一定概率会造成该节点共识停顿,需要重启节点。
版本:20201130-v0.5.3-dev已经修复。
步骤