朋友的节点无意中触发了Replay,并且不显示Replay进度,让他极为闹心。
(图源 :pexels.com)
我看STEEM源码中的一处注释,得出结论,Replay是可以暂停的,暂停后重启steemd(不加 --replay-blockchain
)会自动从之前的位置继续Replay。
我的依据就是代码中的这段注释:
尤其是这句:
If the index file head is in the log, but not up to date, replay from index head.
结果朋友按我的馊主意测试后,程序又从头Replay了,害他浪费了几个小时的时间。
为了证实replay中途停掉再启动程序后是否会从停掉的位置继续Replay,我做了一些测试。
删除block_log.index 以及shared_memory.bin,只保留block_log,重启steemd:
以上操作会自动触发Replay,不过并不显示进度。
等一段时间后,关掉steemd,再重新启动,不加(–replay-blockchain)参数:
发现并没有如我所预料的那样,从停掉的位置开始。
重新试一遍上述两步操作,结果没有什么区别:
再测试一下加(–replay-blockchain)参数,然后停掉重启,结果出现下边第二幅图中显示的错误:
经过无数次的测试,后来有一次,貌似Replay从中途继续的,不过我没注意观察,随手关掉了,哭。
看来朋友的结论还是对的,只要需要replay,别报期望中途停止恢复啥的,直接加 --replay-blockchain
参数,然后耐心等待好了。
相关链接
https://steemit.com/~witnesses type in
oflyhigh
and click VOTE
Vote @oflyhigh via Steemconnect
Thank you!
This page is synchronized from the post: ‘Replay 测试’