caivega / ipfslib

Other
2 stars 1 forks source link

S2 - 测试网络延迟。网络恢复正常后,节点无法进入共识状态。重启所有节点后仍然有问题。 #114

Closed foreso-GitHub closed 3 years ago

foreso-GitHub commented 4 years ago

测试网络延迟。网络恢复正常后,短时间内会生成大量区块(可能是前面积压的区块),但随后所有节点的区块高度不会增加(此时log中显示的共识状态true true true true - 5 5 5 4)。重启后也无法恢复共识(true true true true - 5 5 5 3)。再次重启,3个节点进入共识状态、区块增加,另外两个节点区块不增加,但log显示共识正常(true true true true - 5 5 5 5)。

foreso-GitHub commented 3 years ago

20200915更新版本,断网测试后很容易发生区块不再上升的情况。 从log看,共识是在进行的。

Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.500187    2139 network.go:986] >>> time update status 0 12D3KooWJQ8Eg4RVNUWPAMxeXouamXBiGr5cmogEFPAXA2trDu8m consensused
Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.500357    2139 network.go:986] >>> time update status 1 12D3KooWBaR65cviWrbKKmrJuCNRVY3bYZhwXgjLeLoBkTNa4Hun consensused
Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.500482    2139 network.go:986] >>> time update status 2 12D3KooWJmZbJHBTFmjrkWRzQRujjvXu9CE6YSA5EV4aghaSi7uA consensused
Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.500594    2139 network.go:986] >>> time update status 3 12D3KooWNtNhBHS7is5iqnQzZCsCxUNRYVqFuisGa1TVqh6begch consensused
Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.500710    2139 network.go:986] >>> time update status 4 12D3KooWEeQ3NS74LVWzhqgF1EuA3USqvBMZDc5pBKeLCD6nDyvE consensused
Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.500816    2139 network.go:850] network - 5 5 - select init - true true true true - 5 5 5 5
Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.500833    2139 network.go:899] --- peers connected --- true 5 select init - true true true true - 5 5 5 5
Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.501070    2139 network.go:699] >>> 1445696, 22860678, send_message, 4:0, network.ReplyInfo, 7
Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.501094    2139 network.go:699] >>> 1445696, 22860679, send_message, 4:1, network.ReplyInfo, 7
Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.501110    2139 network.go:699] >>> 1445696, 22860680, send_message, 4:2, network.ReplyInfo, 7
Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.501123    2139 network.go:699] >>> 1445696, 22860681, send_message, 4:3, network.ReplyInfo, 7
Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.501135    2139 network.go:699] >>> 1445696, 22860682, send_message, 4:4, network.ReplyInfo, 7
Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.501150    2139 network.go:709] <<< 1445696, 22860682, receive_message, 4:4, network.ReplyInfo, 427560, 7
Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.510624    2139 network.go:709] <<< 1445704, 23139847, receive_message, 3:4, network.ReplyInfo, 9951451, 7
Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.517331    2139 network.go:709] <<< 1445704, 23111895, receive_message, 2:4, network.BlockProposal, 16344204, 77
Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.517551    2139 network.go:699] >>> 1445696, 22860683, send_message, 4:2, network.BlockReply, 79
Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.532414    2139 network.go:709] <<< 1445704, 23244967, receive_message, 1:4, network.BlockProposal, 31644442, 77
Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.532622    2139 network.go:699] >>> 1445696, 22860684, send_message, 4:1, network.BlockReply, 79
Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.583061    2139 network.go:709] <<< 1445704, 23473682, receive_message, 0:4, network.BlockProposal, 82446538, 77
Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.583298    2139 network.go:699] >>> 1445696, 22860685, send_message, 4:0, network.BlockReply, 79
Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.656259    2139 rpc.go:28] rpc /v1/jsonrpc jt_blockNumber
Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.656282    2139 rpc.go:33] response 276141 <nil>
Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.901557    2139 rpc.go:28] rpc /v1/jsonrpc jt_blockNumber
Oct 12 10:22:02 bldnmpmk-0701864 bash[2137]: I1012 10:22:02.901580    2139 rpc.go:33] response 122325 <nil>
Oct 12 10:22:04 bldnmpmk-0701864 bash[2137]: I1012 10:22:04.000158    2139 network.go:1054] >>> consensus update status 4 consensused 1445703
Oct 12 10:22:04 bldnmpmk-0701864 bash[2137]: I1012 10:22:04.000194    2139 network.go:1054] >>> consensus update status 0 consensused 1445703
Oct 12 10:22:04 bldnmpmk-0701864 bash[2137]: I1012 10:22:04.000202    2139 network.go:1054] >>> consensus update status 3 consensused 1445703
Oct 12 10:22:04 bldnmpmk-0701864 bash[2137]: I1012 10:22:04.000208    2139 network.go:1054] >>> consensus update status 1 consensused 1445703
Oct 12 10:22:04 bldnmpmk-0701864 bash[2137]: I1012 10:22:04.000213    2139 network.go:1054] >>> consensus update status 2 consensused 1445703
Oct 12 10:22:04 bldnmpmk-0701864 bash[2137]: I1012 10:22:04.000222    2139 network.go:1069] >>> consensus status true 1445703 4 1445703
foreso-GitHub commented 3 years ago

测试网络延迟。网络恢复正常后,短时间内会生成大量区块(可能是前面积压的区块),但随后所有节点的区块高度不会增加

20201027版本上,多次尝试后,该问题仍然可以重现。

foreso-GitHub commented 3 years ago

版本:20201114-v0.5.2-dev,执行网络错误注入测试(损坏、乱序、延时等)+节点断网后,仍然会发生全网节点共识停止。

foreso-GitHub commented 3 years ago

版本:20201130-v0.5.3-dev已经修复。